1

重複の可能性:
地図を固定位置 (緯度経度) - 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>

150px

そしてここに 250 ピクセルの高さの情報ウィンドウ

250px

編集

更新されたコードの最後の部分は次のとおりです。

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 に答える