有没有人知道是否有办法指定独立于其容器div的谷歌地图的大小?我问的原因是我的地图并不完全位于lat lng点上。我正在使用宽度和高度(400 x 200)的iframe将地图加载到我的页面中。在我拉入的框架中,谷歌地图也在一个大小(400 x 200)的范围内。但每次都偏离中心。
我的代码如下
function initializeMap(latVal, lngVal, titleStr, merchantName) {
var latlng = new google.maps.LatLng(latVal, lngVal);
var myOptions = {
zoom: 15,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var contentString = '<span style="font-size:12pt;">' + merchantName + '</span><span style="font-size:10pt;">' + titleStr + '</span>';
var infowindow = new google.maps.InfoWindow({
content: contentString
});
var marker = new google.maps.Marker({
position: latlng,
title:titleStr
});
var map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
// To add the marker to the map, call setMap();
marker.setMap(map);
}
我正在使用谷歌地图api的v3,并且正在寻找关于我如何能够正确地将地图居中的一些指示。如上所述,上面的脚本(和map_canvas div)在iframe中加载到我的主页面中。
非常感谢你的帮助
答案 0 :(得分:1)
如果我正确阅读了您的脚本,您正在初始化地图,添加标记然后打开标记的信息窗口。请注意InfoWindowOptions
的文档:
默认情况下,信息窗口将平移地图,以便在打开时完全可见。
在创建InfoWindow时将disableAutoPan
属性设置为false以防止它重新定位地图:
var infowindow = new google.maps.InfoWindow({
content: contentString,
disableAutoPan: false
});