如果标记所在的地图或标记本身被点击,InfoWindow 的默认行为是隐藏。
有什么方法可以使 InfoWindow 永久化,这样你就不能隐藏它了?
我已禁用地图中的所有手势,但点击时 InfoWindow 仍会消失。
如果标记所在的地图或标记本身被点击,InfoWindow 的默认行为是隐藏。
有什么方法可以使 InfoWindow 永久化,这样你就不能隐藏它了?
我已禁用地图中的所有手势,但点击时 InfoWindow 仍会消失。
visceralG 的解决方案是我首先要做的,但也有(未经测试的)替代方案:
getInfoContents
)onMapClick
呼吁markerShowingInfoWindow.showInfoWindow()
强制它回来markerShowingInfoWindow.showInfoWindow()
放入Runnable.run()
并使用Handler
or发布View
不是我知道的。最好的办法是为包含绘制的“信息窗口”的地图标记创建自己的自定义图标。然后,它需要在图标位图的 infoWindow 部分进行一些自定义绘图,以产生与普通 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;
}
});