Android Google Maps v2永久标记InfoWindow

时间:2013-02-05 19:32:56

标签: android google-maps

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

有没有办法让InfoWindow永久保存,以便你无法隐藏它?

我已禁用地图中的所有手势,但点击时InfoWindow仍会消失。

3 个答案:

答案 0 :(得分:3)

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

  • 保留对标记显示信息窗口的引用(来自getInfoContents
  • onMapClick致电markerShowingInfoWindow.showInfoWindow()以强制退回
  • 如果以上操作不起作用,请将markerShowingInfoWindow.showInfoWindow()放在Runnable.run()内,然后将其HandlerView
  • 发布

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

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