我有一个按钮,可以将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/的示例说明了这个问题。
我做错了什么,以防止禁用自动平移?
答案 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才能在地图上显示它。
您在选项列表中提供了未记录的地图属性。