Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 缩放后更改Google标记大小使标记以不同大小渲染两次_Javascript_Google Maps Markers - Fatal编程技术网

Javascript 缩放后更改Google标记大小使标记以不同大小渲染两次

Javascript 缩放后更改Google标记大小使标记以不同大小渲染两次,javascript,google-maps-markers,Javascript,Google Maps Markers,我们通过angularjs的NgMap使用谷歌地图。标记需要是圆形的,并处理单击事件。所以我们使用的是google.maps.Circle。放大时,标记增长迅速,可能非常大。通过将侦听器添加到地图缩放更改,可以防止这种情况: google.maps.event.addListener(map, 'zoom_changed', function (markers, newRadius) { markers.forEach(function(marker) { marker.

我们通过angularjs的NgMap使用谷歌地图。标记需要是圆形的,并处理单击事件。所以我们使用的是google.maps.Circle。放大时,标记增长迅速,可能非常大。通过将侦听器添加到地图缩放更改,可以防止这种情况:

google.maps.event.addListener(map, 'zoom_changed', function (markers, newRadius) {
    markers.forEach(function(marker) {
        marker.setRadius(newRadius);
    });
});
但问题是,有一个标记集合,似乎地图在更改之前先使用标记的原大小重新绘制,然后使用新大小更新标记。这意味着在更改缩放级别一次后,贴图将重新绘制两次

如何使标记在缩放后仅渲染一次?或者,是否可以配置圆,以便在绘制圆时,通过与缩放级别相关的公式确定圆的半径

谢谢你的帮助