проблема
Мой сегмент работает так. Когда я перетаскиваю карту (API Javascript Google Maps), я хочу, чтобы кружок, отображаемый в центре карты, исчез. Когда перетаскивание сделано, я хочу, чтобы круг переместился в новый центр, прежде чем снова стать видимым.
То, что заканчивается, - это то, что круг становится видимым, а затем подпрыгивает к новой позиции, даже если у меня их одна перед другой (заданная позиция, а затем изменение видимости).
попытка
Вот код, который я использовал для этого сегмента:
control.getCircle().setCenter(latLng(latitude, longitude));
control.getCircle().setVisible(true);
Где latLng - это функция-оболочка, которую я создал для получения объекта LatLng, а элемент управления - это объект управления с угловыми Google-картами.
Несмотря на то, что setCenter является первым, круг все еще становится видимым до его перемещения. Есть ли что-нибудь, что я могу сделать по этому поводу? Я попытался обернуть его обещанием, обратными вызовами и т.д., Но ничего похожего не делает.
Благодарю!
Попробуйте прослушивать события event 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);
});