gpt4 book ai didi

android onMarkerClick 在 InfoWindow 隐藏在 GoogleMap Google Maps Android API v2 后不调用

转载 作者:太空宇宙 更新时间:2023-11-03 10:24:45 24 4
gpt4 key购买 nike

我将 Google Maps Android API v2 集成到我的应用程序中,但 GoogleMap 中的标记出现了奇怪的行为。InfoWindow 隐藏后不会调用 OnMarkerClickListener#onMarkerClick(Marker marker)。它不取决于我如何显示 InfoWindow(ma​​rker.showInfoWindow()

@Override
public boolean onMarkerClick(final Marker marker) {
.....
return true;}

没用。在我通过触摸或更改缩放更改相机位置后,它可以工作一次。我在 GoogleMapDemo 中看到的相同行为。

这是我的代码

    private GoogleMap mMap;

@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);

setContentView(R.layout.map_address_activity);
setUpMapIfNeeded(); // from oficial sample

mMap.setOnMapClickListener(new OnMapClickListener() {

@Override
public void onMapClick(LatLng point) {
mMap.clear();
mMap.addMarker(new MarkerOptions().position(point).title("Marker"));
final CameraPosition cameraPosition = new CameraPosition.Builder().target(point).zoom(mMap.getCameraPosition().zoom).build();

mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
});
mMap.setOnMarkerClickListener(new OnMarkerClickListener() {

@Override
public boolean onMarkerClick(final Marker marker) {
Log.e("TESTING", "on Marker click: " + marker.getTitle());
if (!marker.isInfoWindowShown())
marker.showInfoWindow();
else
marker.hideInfoWindow();

return true;
}
});
}

你能帮我处理隐藏InfoWindow后标记上的点击事件吗?

最佳答案

这就是应该发生的事情! onMarkerClick 仅在点击标记时被调用,而在 infoWindow 隐藏时不会被调用。

如果您想监听 InfoWindows 隐藏事件,您必须在隐藏 InfoWindow 的 onMarkerClick 方法或覆盖的 onMapClick 方法中实现您自己的逻辑(因为点击 map 上的任何地方都可能隐藏信息)。在最后一种情况下,您必须保持对具有激活的 infoWindow 的最后一个标记的引用,并检查该窗口状态以实现您的逻辑。

关于android onMarkerClick 在 InfoWindow 隐藏在 GoogleMap Google Maps Android API v2 后不调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14055785/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com