谷歌地图' InfoWindow自动平移无法禁用

时间:2014-04-05 21:26:56

标签: javascript 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属性的值如何,地图始终平移以显示新添加的InfoWindow的位置。

http://jsfiddle.net/H3XLx/的示例说明了这个问题。

我做错了什么,以防止禁用自动平移?

1 个答案:

答案 0 :(得分: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);
}

请参阅updated jsfiddle

来自谷歌文档:除非禁用自动平移,否则InfoWindow将平移地图以使其在打开时可见。构建InfoWindow后,必须调用open才能在地图上显示它。

您在选项列表中提供了未记录的地图属性。