1

可能重复:
是否可以将地图居中在固定位置(lat lng) - 100px?

这是我的代码

var latlng = new google.maps.LatLng(42.745334,12.738430);
var options = { zoom: 12, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP };
var map = new google.maps.Map(document.getElementById('map'), options);
var marker = new google.maps.Marker({ position: latlng, map: map, title: 'Example' });   

var infoWindow = new google.maps.InfoWindow();
var window_content = '<div style="width:110px;height:150px;">Test</div>';
infoWindow.setContent(window_content);
infoWindow.open(map, marker);   

如您所见,地图以“位置标记”为中心,而不是以 InfoWindow 高度为中心。我需要在地图的中心有信息窗口的中心,用更少的话。

我该怎么做?

PS我想避免在信息窗口中放置“高边距顶部”的解决方法......

4

1 回答 1

2

您必须实际重新定位标记,而不是信息窗口。

你有没有看到我给你的最后一个例子中的标记?

如果是这样,当您拖动它时,您会看到标记重新与信息窗口居中。

在这里,我将您的 infowindow html 添加到其中:http: //jsfiddle.net/RASG/vA4eQ/10/

<div style="width:110px;height:150px;">Test</div>

150像素

这里有一个 250 像素高的信息窗口

250像素

编辑

这是更新代码的最后一部分:

var infoWindow = new google.maps.InfoWindow();
var window_content = '<div style="width:110px;height:200px;">Test</div>';
infoWindow.setContent(window_content);

google.maps.event.addListener(marker, 'click', function() {
    infoWindow.open(map, marker);
    map.setCenter(marker.getPosition())
});

在这里测试它:http: //jsfiddle.net/RASG/VFqm5/1/

于 2012-11-05T16:28:17.703 回答