Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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
Android谷歌地图v2永久标记信息窗口_Android_Google Maps - Fatal编程技术网

Android谷歌地图v2永久标记信息窗口

Android谷歌地图v2永久标记信息窗口,android,google-maps,Android,Google Maps,信息窗口的默认行为是隐藏标记所在的地图或标记本身是否被点击 有没有办法让信息窗口永久化,这样你就不能隐藏它 我已经禁用了地图中的所有手势,但是当你点击时,信息窗口仍然会消失。我不知道。最好是为地图标记创建自己的自定义图标,其中包括绘制的“infoWindow”。然后需要在图标位图的infoWindow部分绘制一些自定义图形,以产生与普通infoWindow相同的效果,但这并不可怕。虽然没有你所寻找的解决方案那么简单,但它会让你达到你想要去的地方。希望有帮助 我不知道。最好是为地图标记创建自己的自

信息窗口的默认行为是隐藏标记所在的地图或标记本身是否被点击

有没有办法让信息窗口永久化,这样你就不能隐藏它


我已经禁用了地图中的所有手势,但是当你点击时,信息窗口仍然会消失。

我不知道。最好是为地图标记创建自己的自定义图标,其中包括绘制的“infoWindow”。然后需要在图标位图的infoWindow部分绘制一些自定义图形,以产生与普通infoWindow相同的效果,但这并不可怕。虽然没有你所寻找的解决方案那么简单,但它会让你达到你想要去的地方。希望有帮助

我不知道。最好是为地图标记创建自己的自定义图标,其中包括绘制的“infoWindow”。然后需要在图标位图的infoWindow部分绘制一些自定义图形,以产生与普通infoWindow相同的效果,但这并不可怕。虽然没有你所寻找的解决方案那么简单,但它会让你达到你想要去的地方。希望有帮助

首先,我要做的就是解决这个问题,但也有(未经测试的)替代方案:

  • 保留对显示信息窗口的标记的引用(从
    getInfoContents
  • onmapplick
    中,调用
    markerShowingInfoWindow.showInfoWindow()
    将其强制返回
  • 如果上述操作不起作用,请将
    markerShowingInfoWindow.showInfoWindow()
    放入
    Runnable.run()
    中,并使用
    Handler
    View

首先,我会采用LG的解决方案,但也有(未经测试的)替代方案:

  • 保留对显示信息窗口的标记的引用(从
    getInfoContents
  • onmapplick
    中,调用
    markerShowingInfoWindow.showInfoWindow()
    将其强制返回
  • 如果上述操作不起作用,请将
    markerShowingInfoWindow.showInfoWindow()
    放入
    Runnable.run()
    中,并使用
    Handler
    View

假设您已经知道如何设置信息窗口,这些行将使您的信息窗口对于任何一个标记都是永久的:

    final Marker myMarker = mGoogleMap.addMarker(mDriverMarker);

    myMarker.showInfoWindow();

    mGoogleMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
        @Override
        public void onMapClick(LatLng latLng) {
            myMarker.showInfoWindow();
        }
    });

    mGoogleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
        @Override
        public boolean onMarkerClick(Marker marker) {
            myMarker.showInfoWindow();
            return true;
        }
    });

假设您已经知道如何设置信息窗口,这些行将使任何一个标记的信息窗口成为永久性的:

    final Marker myMarker = mGoogleMap.addMarker(mDriverMarker);

    myMarker.showInfoWindow();

    mGoogleMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
        @Override
        public void onMapClick(LatLng latLng) {
            myMarker.showInfoWindow();
        }
    });

    mGoogleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
        @Override
        public boolean onMarkerClick(Marker marker) {
            myMarker.showInfoWindow();
            return true;
        }
    });