Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 建议如何在android中捕获google地图标记的内容_Java_Android_Google Maps - Fatal编程技术网

Java 建议如何在android中捕获google地图标记的内容

Java 建议如何在android中捕获google地图标记的内容,java,android,google-maps,Java,Android,Google Maps,您好,我正在使用android方法OnInfo WindowClick 我需要按事件来获取数据库中该标记的数据,到目前为止,我只是碰巧将id传递给代码段,然后获取marker.getSnippet(),然后在那里获取信息 我需要的是指出这个地方是开放的还是关闭的。如果它是打开的,我打开一个对话框,如果它是关闭的,它应该表明它是关闭的祝酒词。布尔变量,我必须验证它是否在firebase中打开或关闭 如果我使用marker.getId返回m5标记的id,它不会链接到我的数据库中的任何id,以便能够比

您好,我正在使用android方法
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