3

ストリートビュー ビューを情報ウィンドウに表示しようとしていますが、取得できません。これが私のコードです。方法を知っている人はいますか?

よろしくお願いします

function createMarker(myLatlng) {


var panoramaOptions = {
      position: myLatlng,
      pov: {
        heading: 34,
        pitch: 10,
        zoom: 1
      }
    };
var panorama = new  google.maps.StreetViewPanorama(document.getElementById('pano'),panoramaOptions);
    map.setStreetView(panorama);


var contentString = '<div id="pano" style="width:200px;height:200px;"></div>';
var image = '/artworks/icons/myMarker.png';
var marker = new google.maps.Marker({
  position: myLatlng,
  map: map,
  title: "myTitle",
  icon: image
});

    google.maps.event.addListener(marker, 'click', function() {
    infowindow.setContent(contentString); 
    infowindow.open(map,marker);


    map.setCenter(myLatlng); 
    }); 

return marker;  
}
4

1 に答える 1

6

私が使う:

var contentString = '<div id="content" style="width:250px;height:300px;"></div>';

    var infoWindow = new google.maps.InfoWindow({
        content: contentString
    });

google.maps.event.addListener(marker, "click", function () {

                infoWindow.open(mapStyled, marker);

                var pano = null;
                google.maps.event.addListener(infoWindow, 'domready', function () {
                    if (pano != null) {
                        pano.unbind("position");
                        pano.setVisible(false);
                    }
                    pano = new google.maps.StreetViewPanorama(document.getElementById("content"), {
                        navigationControl: true,
                        navigationControlOptions: { style: google.maps.NavigationControlStyle.ANDROID },
                        enableCloseButton: false,
                        addressControl: false,
                        linksControl: false
                    });
                    pano.bindTo("position", marker);
                    pano.setVisible(true);
                });

                google.maps.event.addListener(infoWindow, 'closeclick', function () {
                    pano.unbind("position");
                    pano.setVisible(false);
                    pano = null;
                });

私はあなたのコードが機能しない理由をすぐに理解することはできませんが。私の場合、これはKMLファイルを解析するforループ内にあります(したがって、各ポイントに新しいポップアップとマーカーが作成されます)。

お役に立てれば。

[編集]振り返ってみると、問題はおそらく「pano」をその内容ではなくdivにバインドしていることのようです。また、別のマーカーにバインドを解除して再バインドすることも忘れないでください。

于 2012-11-27T16:51:39.950 に答える