ジャンル設定時に即時ピンの表示・非表示を切り換え
1 parent 5c8a391 commit ff10a827d012098eaf8ae57cece69bb2804826c6
t-nagao authored on 26 Sep 2023
Showing 2 changed files
View
32
app/src/main/java/com/example/nemophila/MapsActivity.java
import androidx.appcompat.widget.SearchView;
import androidx.appcompat.widget.Toolbar;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.fragment.app.DialogFragment;
import androidx.lifecycle.ViewModelProvider;
import androidx.navigation.NavController;
import androidx.navigation.fragment.NavHostFragment;
import androidx.navigation.ui.AppBarConfiguration;
import androidx.navigation.ui.NavigationUI;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
 
import com.example.nemophila.entities.Shop;
import com.example.nemophila.viewmodels.ShopsViewModel;
import com.google.android.gms.maps.model.Marker;
import com.google.android.material.navigation.NavigationView;
 
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
 
 
public class MapsActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
 
Nemophila nemophila;
ShopsViewModel shopsViewModel;
DialogFragment filterDialog;
private Handler handler;
 
 
// フィルターのリスト用
ArrayList<FilterDataModel> listData;
ListView list;
 
 
@Override
protected void onCreate(Bundle savedInstanceState) {
shopsViewModel = new ViewModelProvider(this).get(ShopsViewModel.class);
 
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
 
if(b) {
if(isGenre) {
//Toast.makeText(MapsActivity.this, listData.get(position).getText(), Toast.LENGTH_SHORT).show();
nemophila.setSelectGenres(listData.get(position).getText());
 
} else {
nemophila.setSelectFriends(listData.get(position).getText());
}
} else {
if(isGenre) {
//Toast.makeText(MapsActivity.this, listData.get(position).getText(), Toast.LENGTH_SHORT).show();
nemophila.removeSelectGenres(listData.get(position).getText());
 
} else {
nemophila.removeSelectFriends(listData.get(position).getText());
}
}
FilterDataModel data = getItem(position);
data.isChecked = b;
Collection<Shop> shops = shopsViewModel.getPreShoplist();
 
if ( shops != null ) {
System.out.println(shops);
 
for (Shop shop : shops) {
if ( shopsViewModel.getMarker(shop) != null) {
//すでに立っているピンをフィルター掛け
Marker setMaker = shopsViewModel.getMarker(shop);
if (!nemophila.getSelectGenres().isEmpty()) {
setMaker.setVisible(false);
} else {
setMaker.setVisible(true);
 
}
// if (!nemophila.getSelectFriends().isEmpty()) {
// setMaker.setVisible(false);
// }
 
}
}
}
}
});
 
return convertView;
View
83
app/src/main/java/com/example/nemophila/MapsFragment.java
nemophila.setZoom(mMap.getCameraPosition().zoom);
//Shopの描画範囲を指定
shopsViewModel.setViewArea(nemophila.getCameraLongitude() + 1, nemophila.getCameraLatitude() + 1, nemophila.getCameraLongitude() - 1, nemophila.getCameraLatitude() - 1);
 
Collection<Shop> shops = shopsViewModel.getPreShoplist();
 
if ( shops != null ) {
System.out.println("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
System.out.println(shops);
 
Toast.makeText(getActivity(),
String.format("フィルターを適応中"),
Toast.LENGTH_SHORT)
.show();
 
for (Shop shop : shops) {
if ( shopsViewModel.getMarker(shop) != null) {
//すでに立っているピンをフィルター掛け
Marker setMaker = shopsViewModel.getMarker(shop);
if (!nemophila.getSelectGenres().isEmpty()) {
Toast.makeText(getActivity(),
String.format("ジャンルに該当しないピンを全て非表示にします"),
Toast.LENGTH_SHORT)
.show();
setMaker.setVisible(false);
} else {
Toast.makeText(getActivity(),
String.format("ジャンルに該当するピンを全て表示にします"),
Toast.LENGTH_SHORT)
.show();
setMaker.setVisible(true);
 
}
// if (!nemophila.getSelectFriends().isEmpty()) {
// Collection<Shop> shops = shopsViewModel.getPreShoplist();
//
// if ( shops != null ) {
// System.out.println("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
// System.out.println(shops);
//
// Toast.makeText(getActivity(),
// String.format("フィルターを適応中"),
// Toast.LENGTH_SHORT)
// .show();
//
// for (Shop shop : shops) {
// if ( shopsViewModel.getMarker(shop) != null) {
// //すでに立っているピンをフィルター掛け
// Marker setMaker = shopsViewModel.getMarker(shop);
// if (!nemophila.getSelectGenres().isEmpty()) {
// Toast.makeText(getActivity(),
// String.format("ジャンルに該当しないピンを全て非表示にします"),
// Toast.LENGTH_SHORT)
// .show();
// setMaker.setVisible(false);
// } else {
// Toast.makeText(getActivity(),
// String.format("ジャンルに該当するピンを全て表示にします"),
// Toast.LENGTH_SHORT)
// .show();
// setMaker.setVisible(true);
//
// }
 
System.out.println("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
}
}
}
//// if (!nemophila.getSelectFriends().isEmpty()) {
//// setMaker.setVisible(false);
//// }
//
// System.out.println("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
// }
// }
// }
});
 
 
// test用 座標を確認するため