问题
我的细分是这样的。当我拖动地图(Google Maps Javascript API)时,我希望在地图中心渲染的圆圈消失。拖动完成后,我希望圆圈移动到新中心 BEFORE 再次变为可见。
最终发生的事情是圆圈变得可见然后猛然移动到新位置,即使我将它们一个接一个地设置(设置位置,然后改变可见性。)
尝试
以下是我为此细分使用的代码:
control.getCircle().setCenter(latLng(latitude, longitude));
control.getCircle().setVisible(true);
其中latLng是我用来获取LatLng对象的包装函数,而control是来自angular-google-maps的控制对象。
即使setCenter是第一个,圆圈在移动之前仍然可见。我能做些什么吗?我试图将它包装在一个承诺,回调等等中,但似乎没有什么可以做到的。
谢谢!
答案 0 :(得分:1)
尝试使用事件center_changed
,事件idle
或事件dragstart
google.maps.event.addListener(map, 'center_changed', function() {
control.getCircle().setCenter(latLng(latitude, longitude));
});
google.maps.event.addListener(map, 'dragstart', function() {
control.getCircle().setVisible(false);
});
google.maps.event.addListener(map, 'idle', function() {
control.getCircle().setVisible(true);
});