Java 建议如何在android中捕获google地图标记的内容
您好,我正在使用android方法Java 建议如何在android中捕获google地图标记的内容,java,android,google-maps,Java,Android,Google Maps,您好,我正在使用android方法OnInfo WindowClick 我需要按事件来获取数据库中该标记的数据,到目前为止,我只是碰巧将id传递给代码段,然后获取marker.getSnippet(),然后在那里获取信息 我需要的是指出这个地方是开放的还是关闭的。如果它是打开的,我打开一个对话框,如果它是关闭的,它应该表明它是关闭的祝酒词。布尔变量,我必须验证它是否在firebase中打开或关闭 如果我使用marker.getId返回m5标记的id,它不会链接到我的数据库中的任何id,以便能够比
OnInfo WindowClick
我需要按事件来获取数据库中该标记的数据,到目前为止,我只是碰巧将id传递给代码段,然后获取marker.getSnippet()
,然后在那里获取信息
我需要的是指出这个地方是开放的还是关闭的。如果它是打开的,我打开一个对话框,如果它是关闭的,它应该表明它是关闭的祝酒词。布尔变量,我必须验证它是否在firebase中打开或关闭
如果我使用marker.getId
返回m5标记的id,它不会链接到我的数据库中的任何id,以便能够比较和获取本地标记的状态
gMap.addMarker(new MarkerOptions()
.title(ArrayGMaps.get(i).getNamePlaces())
.snippet("MY PLACES." +" "+ ArrayGMaps.get(i).getIdPlaces())
.icon(icon)
.position(place));
CameraPosition cameraPosition = new CameraPosition.Builder().target(place).zoom(11).build();
gMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
要单击的事件
@Override
public void onInfoWindowClick(Marker marker) {
MyplacesList = new ArrayList<>();
preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
String savedList = preferences.getString("MyGoogleMaps","");
Type type = new TypeToken<List<Myplaces>>(){}.getType();
MyplacesList = gson.fromJson(savedList,type);
for (int i = 0; i < MyplacesList.size(); i++) {
String id = marker.getSnippet();
String id2 = MyplacesList.get(i).getIdPlaces();
if (id.equals(id2)) {
Toast.makeText(getContext(), "Click: "+ marker.getSnippet() , Toast.LENGTH_SHORT).show();
}
}
}
@覆盖
公用无效信息窗口单击(标记){
MyplacesList=新的ArrayList();
preferences=PreferenceManager.GetDefaultSharedReferences(getApplicationContext());
String savedList=preferences.getString(“MyGoogleMaps”和“”);
Type Type=new-TypeToken(){}.getType();
MyplacesList=gson.fromJson(保存列表,类型);
对于(int i=0;i
我的解决方案。是比较经纬度
@Override
public void onInfoWindowClick(Marker marker) {
double lLat1 = marker.getPosition().latitude;
double lLong2 = marker.getPosition().longitude;
MyplacesList = new ArrayList<>();
preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
String savedList = preferences.getString("MyGoogleMaps","");
Type type = new TypeToken<List<Myplaces>>(){}.getType();
MyplacesList = gson.fromJson(savedList,type);
for (int i = 0; i < MyplacesList.size(); i++) {
Double SLat = Double.parseDouble(MyplacesList.get(i).getMyLatitud());
Double SLong = Double.parseDouble(MyplacesList.get(i).getMyLongitud());
if (SLat == lLat1 && SLong == lLong2) {
if (MyplacesList.get(i).myOpen.equals("true")) {
Toast.makeText(getContext(), "Abierto: " + MyplacesList.get(i).myOpen, Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getContext(), "Cerrado: " + MyplacesList.get(i).myOpen, Toast.LENGTH_SHORT).show();
}
}
}
}
@覆盖
公用无效信息窗口单击(标记){
double-1=marker.getPosition().纬度;
double lLong2=marker.getPosition().经度;
MyplacesList=新的ArrayList();
preferences=PreferenceManager.GetDefaultSharedReferences(getApplicationContext());
String savedList=preferences.getString(“MyGoogleMaps”和“”);
Type Type=new-TypeToken(){}.getType();
MyplacesList=gson.fromJson(保存列表,类型);
对于(int i=0;i