谷歌地图v3不居中

时间:2010-12-16 00:12:13

标签: google-maps

有没有人知道是否有办法指定独立于其容器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中加载到我的主页面中。

非常感谢你的帮助

1 个答案:

答案 0 :(得分:1)

如果我正确阅读了您的脚本,您正在初始化地图,添加标记然后打开标记的信息窗口。请注意InfoWindowOptions的文档:

  

默认情况下,信息窗口将平移地图,以便在打开时完全可见。

在创建InfoWindow时将disableAutoPan属性设置为false以防止它重新定位地图:

var infowindow = new google.maps.InfoWindow({
    content: contentString,
    disableAutoPan: false
});