2

カスタム infoBox の中心にマップを配置しようとしています。代わりに、マップ マーカーから遠く離れた、まったく別の場所に移動しています。これが私のコードです:

var projection = this.getProjection(),
    centerX = point.x - (125)/2, 
    centerY = point.y - (120)/2, 
    centerPoint = new google.maps.Point(centerX, centerY);
var latLngOfBoxTop = projection.fromContainerPixelToLatLng(centerPoint);
this.map.panTo(latLngOfBoxTop);

マップ上のポイントに移動するより良い方法は何ですか?

4

1 に答える 1

2

私はこれを理解し、自分の質問を更新しませんでした。簡単でした。マップの中心をマーカーの位置 (既に持っている緯度と経度) に設定し、「panBy」を使用しました。これは、緯度と経度ではなく、ピクセルをパラメーターとして取ります。

    var latlng = this.latlng_,
        div_height = $('#infobox-wrap-' + markerID).css('height').replace(/px/, ''),
        infoBoxHalfHeight = 0, 
        halfDivHeight = Math.round(div_height/2);

    infoBoxHalfHeight = halfDivHeight + 16; //accounts for the infoBox's "pointer" graphic

    this.map.setCenter(latlng);
    this.map.panBy(0, infoBoxHalfHeight); 
于 2013-05-06T15:21:39.643 に答える