Почему я не использую метод или указания panTo () Карт Google? - PullRequest
0 голосов
/ 07 августа 2009

У меня проблемы с центрированием карты с использованием метода panTo(), а также с указанием направлений (из / в) для работы в виде вкладок.

Вот мой код:

http://dpaste.com/76251/

Ответы [ 2 ]

2 голосов
/ 07 августа 2009

Я не совсем уверен, что вы хотите, чтобы карта делала, но есть одна большая проблема с вашей panTo() функцией. Вы поместили его в функцию markerClickHandler(), которая вызывается при создании маркеров, что происходит при загрузке страницы. Итак, вы звоните panTo() три раза, когда страница загружена.

Если вы хотите, чтобы он вызывался при щелчке маркера, поместите его в функцию, возвращаемую markerClickHandler().

Имейте в виду, однако, что движение, скорее всего, будет прервано открытием информационного окна (которое перемещает карту). Лучшее решение этой проблемы, которое я могу придумать, - это переместить карту после открытия окна . Вы можете передать onOpenFn в качестве параметра GInfoWindowOptions:

map.openInfoWindowTabsHtml(marker.getLatLng(), tabs, {
    onOpenFn: function() {
        map.panTo(marker.getLatLng());
    }
});

Примечание: по какой-то причине это работало, только если я позвонил openInfoWindowTabsHtml() на объект карты вместо маркера - я не знаю почему.

1 голос
/ 24 мая 2010

Пример фрагмента, на который вы ссылаетесь, больше не доступен, но, исходя из ответа Криса, я предполагаю, что вы хотите центрировать маркер, информационное окно которого было открыто. У меня была такая же проблема, и я решил ее так:

GEvent.addListener(marker, 'infowindowopen', function() {
    map.panTo(marker.getLatLng());
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...