ジャンル フィルター設定・ピンの表示非表示の切り換え
1 parent 4cfee23 commit 2216cd34e4e037002c187c43d1fc3a936350c828
t-nagao authored on 28 Sep 2023
Showing 2 changed files
View
32
app/src/main/java/com/example/nemophila/MapsActivity.java
prepareFriendList(null);
});
 
// サイドメニューのフィルターのリストの準備
genreData = new String[5];
genreData = new String[]{"中華", "和食", "イタリアン", "フレンチ", "カフェ", "バー", "居酒屋", "ラーメン", "うどん・そば", "その他 海外料理"};
friendsData = new ArrayList<>();
NameToId = new HashMap<>();
genreData[0] = "和食";
genreData[1] = "中華";
genreData[2] = "イタリアン";
genreData[3] = "洋食";
genreData[4] = "ジャンクフード";
 
// friendsData[0] = "iyo";
// friendsData[1] = "iyo2";
// friendsData[2] = "superiyo";
System.out.println(shops);
nemophila.getSelectGenres();
 
for (Shop shop : shops) {
if ( shopsViewModel.getMarker(shop) != null) {
// if (shop.getgenreSet ) {
// //すでに立っているピンをフィルター掛け
// Marker setMaker = shopsViewModel.getMarker(shop);
// if (!nemophila.getSelectGenres().isEmpty()) {
// setMaker.setVisible(false);
// } else {
// setMaker.setVisible(true);
// }
// }
Marker setMarker = shopsViewModel.getMarker(shop);
if(nemophila.getSelectGenres().isEmpty()){
setMarker.setVisible(true);
} else {
for(String genre : nemophila.getSelectGenres()) {
if(shop.getGenreSet().contains(genre)) {
setMarker.setVisible(true);
} else {
setMarker.setVisible(false);
}
}
}
}
 
// if (!nemophila.getSelectFriends().isEmpty()) {
// setMaker.setVisible(false);
// }
}
}
}
});
 
View
42
app/src/main/java/com/example/nemophila/MapsFragment.java
 
//各shopに対応するMarkerがなければMarkerを立てる
shopLatlng = new LatLng(shop.getLatitude(), shop.getLongitude());
System.out.println(shopLatlng);
Marker createMaker = mMap.addMarker(new MarkerOptions().position(shopLatlng).title(""));
Marker createMarker = mMap.addMarker(new MarkerOptions().position(shopLatlng).title(""));
//マーカーに店情報を持たせる
createMaker.setTag(shop);
createMarker.setTag(shop);
//フィルター掛け
if ( !nemophila.getSelectGenres().isEmpty() ) {
Toast.makeText(getActivity(),
String.format("ジャンルに該当しないので非表示にします"),
Toast.LENGTH_SHORT)
.show();
createMaker.setVisible(false);
for(String genre : nemophila.getSelectGenres()) {
if(shop.getGenreSet().contains(genre)) {
createMarker.setVisible(true);
} else {
createMarker.setVisible(false);
}
}
if ( !nemophila.getSelectFriends().isEmpty() ) {
createMaker.setVisible(false);
}
 
// if ( !nemophila.getSelectFriends().isEmpty() ) {
// createMaker.setVisible(false);
// }
 
//ShopToMarkerに紐づけ
shopsViewModel.setShopAndMarker(shop, createMaker);
shopsViewModel.setShopAndMarker(shop, createMarker);
} else {
//すでに立っているピンをフィルター掛け
Marker setMaker = shopsViewModel.getMarker(shop);
if ( !nemophila.getSelectGenres().isEmpty() ) {
setMaker.setVisible(false);
}
if ( !nemophila.getSelectFriends().isEmpty() ) {
setMaker.setVisible(false);
}
// //すでに立っているピンをフィルター掛け
// Marker setMaker = shopsViewModel.getMarker(shop);
// if ( !nemophila.getSelectGenres().isEmpty() ) {
// setMaker.setVisible(false);
// }
// if ( !nemophila.getSelectFriends().isEmpty() ) {
// setMaker.setVisible(false);
// }
}
}
});