1

Googleストリートビューを使用していますが、ユーザーがマーカーを配置できるようにしたいと考えています。

たとえば、それが(ストリートビューではなく)Googleマップだけの場合、次のことができます。

google.maps.event.addListener(map, 'click', recordPosition);

function recordPosition(e) {
    var marker = new google.maps.Marker({
                    position : e.latLng,
                    map : map,
                    icon : cafeMarkerImage,
                    title : 'Centre of the universe ' + numberOfClicks
                });     

    numberOfClicks++;
}

ユーザーがクリックするとcafeMarkerImage、マウスカーソルの下に配置されます。

これらのマーカーが地図に追加されたら、ストリートビューに切り替えると正しく表示されます...ただし、地図ビューではなく、ストリートビューに追加したいと思います。

ただし、ストリートビューでは'click'イベントはご利用いただけません。

latLngマウスを動かしているときにストリートビューに表示される「パンケーキ」の中心を見つけたいのですが、ユーザーがクリックすると表示されます。


Odiの答えは私にそこまでの道のりを教えてくれますが、私はまだ立ち往生しています。クリックするとストリートビューPOVの現在の位置がわかりますが、すぐにクリックした場所に変わります。したがって、クリックでPOVを取得し、そこで必要な注釈を付けると、ビューが変更されるため、ユーザーはそれを表示できなくなります。

4

1 に答える 1

1

適切なイベントとデータを提供するStreetViewPanoramaレイヤーを使用できます。

position_changedあなたが欲しいのはイベントだと思います。イベントを使用して対応するデータを取得する方法のこの良い例を参照してください。

要するに:

var start = new google.maps.LatLng(47.500613, 8.724575);
var panoramaOptions = {
    position: start,
    pov: {
         heading: 20,
         pitch: 0,
         zoom: 1
    },
      visible: true
};
var panorama = new google.maps.StreetViewPanorama(document.getElementById("pano"), panoramaOptions);

google.maps.event.addListener(panorama, 'position_changed', function() {
    console.log(panorama.getPosition().toString()); 
});​
于 2012-08-21T00:27:50.270 に答える