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