Автоматическое панорамирование InfoWindow в Google Maps нельзя отключить

У меня есть кнопка, которая добавляет InfoWindow на карту Google, но свойство disableAutoPan, похоже, игнорируется.

var map;
function initialiseMap() {
    map = new google.maps.Map(document.getElementById('mapCanvas'), {
        zoom: 9
    });

    var currentIndicator = new google.maps.InfoWindow({
        map: map,
        position: new google.maps.LatLng(53.8526, -2.7454),
        content: "Start location"
    });
    map.setCenter(currentIndicator.position);
}

function plotMyLocation() {
    var pos = new google.maps.LatLng(53.05, -1.25);
    new google.maps.InfoWindow({
        map: map,
        position: pos,
        content: "My Location",
        disableAutoPan: true
    });
}

google.maps.event.addDomListener(window, 'load', initialiseMap);

Когда вызывается функция plotMyLocation, карта всегда перемещается, чтобы показать положение только что добавленного информационного окна, независимо от значения свойства disableAutoPan.

Пример на http://jsfiddle.net/H3XLx/ демонстрирует проблему.

Что я делаю не так, что мешает отключить автопанорамирование?


person ATG    schedule 05.04.2014    source источник


Ответы (1)


Вы можете решить эту проблему, используя список опций без map и вызывая функцию open(map):

function plotMyLocation() {
    var pos = new google.maps.LatLng(53.05, -1.25);
    var infowindow = new google.maps.InfoWindow({
        //map: map,
        position: pos,
        content: "My Location",
        disableAutoPan: true
    });

    infowindow.open(map);
}

См. обновленный jsfiddle.

Из документов Google: Если автоматическое панорамирование не отключено, InfoWindow будет панорамировать карту, чтобы сделать себя видимым при открытии. После создания InfoWindow необходимо вызвать open, чтобы отобразить его на карте.

Вы указали свойство карты в списке опций, которое не задокументировано.

person Anto Jurković    schedule 05.04.2014
comment
Креативные вещи! Здоровья, приятель! - person ATG; 06.04.2014