Google地图标记仅在放大Android后消失

时间:2013-11-28 14:27:09

标签: javascript android google-maps google-maps-api-3 cordova

对于使用phonegap构建的谷歌地图应用程序,我在HTC上有一些奇怪的行为:

地图上始终有一个活动标记。如果设置了新的,则使用marker.setMap(null)删除旧版本,这在所有桌面浏览器和iPhone上都可以正常工作。但是,在Android手机上,即使调用该功能,标记有时也不会消失。如果发生这种情况,您可以通过放大和缩小几次使其消失,然后它就消失了。

我猜问题是地图仅在缩放后新渲染。我尝试使用以下代码模拟它:

marker.setMapp(null);
google.maps.event.trigger(map,'resize');

我还尝试设置标记可见性和位置,但它们都不起作用。有没有人见过这种行为?

修改:问题仅出现在Android默认浏览器上。如果我通过Chrome打开应用程序的webversion,一切正常。但是,如果我在默认浏览器中打开完全相同的版本,则会再次出现标记问题。

编辑2 :在调用marker.setMap(null)后,我终于使用以下代码解决了问题:

var zoom = map.getZoom();
map.setZoom(1);
map.setZoom(zoom);

但这是一个非常难看的,所以我仍然在寻找一个“真实”和干净的解决方案。

0 个答案:

没有答案