Javascript 谷歌地图标记只有在Android上放大后才会消失

Javascript 谷歌地图标记只有在Android上放大后才会消失,javascript,android,google-maps,google-maps-api-3,cordova,Javascript,Android,Google Maps,Google Maps Api 3,Cordova,当涉及到用phonegap构建的谷歌地图应用程序时,我的HTC one出现了一些奇怪的行为: 地图上始终有一个活动标记。如果设置了一个新的,旧的会用marker.setMap(null)删除,这在所有桌面浏览器和iPhone上都能很好地工作。但是,在Android手机上,即使调用了该函数,标记有时也不会消失。如果发生这种情况,你可以通过放大和缩小几次使它消失,然后它就消失了 我想问题是,地图只有在缩放后才重新渲染。我尝试用以下代码来模拟: marker.setMapp(null); google

当涉及到用phonegap构建的谷歌地图应用程序时,我的HTC one出现了一些奇怪的行为:

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

我想问题是,地图只有在缩放后才重新渲染。我尝试用以下代码来模拟:

marker.setMapp(null);
google.maps.event.trigger(map,'resize');
我还尝试设置标记的可见性和位置,但两者都不起作用。以前有人见过这种行为吗

编辑:问题只出现在Android默认浏览器上。如果我通过Chrome打开应用程序的网络版,一切都正常。但是,如果在默认浏览器中打开完全相同的版本,标记问题将再次出现

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

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

但这是一个非常丑陋的问题,所以我仍然在寻找一个“真正的”干净的解决方案

如果在
setMap(null)
之前执行
marker.setVisible(false)
,该怎么办?已经尝试过了。我几乎百分之百确定这个问题与地图不再渲染有关。如果强制渲染呢?我不确定你是否能用谢谢,我试过了,但不幸的是没有成功。。