【问题标题】:Android Google Maps v2 permanent Marker InfoWindowAndroid 谷歌地图 v2 永久标记信息窗口
【发布时间】:2013-02-05 19:32:56
【问题描述】:

InfoWindow 的默认行为是在标记所在的地图或标记本身被点击时隐藏。

有什么方法可以使 InfoWindow 永久化,这样您就无法隐藏它了?

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

【问题讨论】:

    标签: android google-maps


    【解决方案1】:

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

    • 保留对显示信息窗口的标记的引用(来自getInfoContents
    • onMapClick 中调用markerShowingInfoWindow.showInfoWindow() 将其强制返回
    • 如果上述方法不起作用,请将markerShowingInfoWindow.showInfoWindow() 放入Runnable.run() 并使用HandlerView 发布

    【讨论】:

      【解决方案2】:

      我不知道。最好的办法是为包含绘制的“信息窗口”的地图标记创建自己的自定义图标。然后,它需要在图标位图的 infoWindow 部分进行一些自定义绘图,以产生与普通 infoWindow 相同的效果,但实现起来并不太糟糕。不像您正在寻找的解决方案那么容易,但它会让您到达您想去的地方。希望对您有所帮助!

      【讨论】:

        【解决方案3】:

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

            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;
                }
            });
        

        【讨论】:

          猜你喜欢
          • 2011-08-21
          • 1970-01-01
          • 1970-01-01
          • 2015-03-05
          • 1970-01-01
          • 1970-01-01
          • 2017-01-25
          • 2013-01-06
          • 2016-05-13
          相关资源
          最近更新 更多