1

私は Google Maps API V3 を使用しています。ユーザーがストリート ビュー内にいるときに、要素の位置を変更する方法を知りたいです (写真http://www.pikky.net/uploads/d6964cfad0bb97cc3ada7852df260a715234d69a.pngを参照)。ありがとう、
ミルコ

4

1 に答える 1

3

これを実現するには、StreetViewPanoramaOptions を StreetViewPanorama オブジェクトに定義し、マップ オプションを宣言するときにマップ変数に初期化します。ストリート ビューにいるときのコントロールの位置を決定できるのは、StreetViewPanoramaOptions です。(詳細については、このドキュメントhttps://developers.google.com/maps/documentation/javascript/reference#StreetViewPanoramaOptionsを参照してください)。これにアプローチする方法のスニペットを次に示します。(注: これはすべて、マップ変数を初期化する前に initialize() 関数で行う必要があります)。

まず、StreetViewPanoramaOptions の変数を宣言し、必要に応じてオプションを変更します。

    var panoramaOptions = {
        addressControlOptions : { position : google.maps.ControlPosition.BOTTOM_CENTER },
        zoomControlOptions : { position : google.maps.ControlPosition.TOP_RIGHT},
        enableCloseButton : true,
        visible: false //set to false so streetview is not triggered on the initial map load
    };

次のステップは、上記の StreetViewPanoramaOptions を使用して、マップのコンテナー/div に設定された StreetViewPanorama オブジェクトを宣言することです。

    var panorama = new  google.maps.StreetViewPanorama(document.getElementById("map_canvas"), panoramaOptions);

最後に、マップ オプションを宣言し、通常どおりマップ オプションを使用してマップ変数を設定します。ただし、マップ オプションでは、streetViewオプションをpanorama変数に設定します。

    var mapOptions = {
        center: new google.maps.LatLng(42.345573,-71.098326),
        zoom: 14,
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        streetView : panorama //this is where we set the panorama object to the map
    };
    var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);

マップ div にコントロールを配置する方法については、このソースを参照してください ( https://developers.google.com/maps/documentation/javascript/controls#ControlPositioning )

于 2012-06-07T05:05:04.233 に答える