【发布时间】:2012-06-04 15:01:01
【问题描述】:
我正在使用 Google Maps API V3,我想知道当用户在街景内部时如何更改元素的位置(如图 http://www.pikky.net/uploads/d6964cfad0bb97cc3ada7852df260a715234d69a.png 所示)。
谢谢,
米尔科
【问题讨论】:
标签: google-maps google-maps-api-3 google-street-view
我正在使用 Google Maps API V3,我想知道当用户在街景内部时如何更改元素的位置(如图 http://www.pikky.net/uploads/d6964cfad0bb97cc3ada7852df260a715234d69a.png 所示)。
谢谢,
米尔科
【问题讨论】:
标签: google-maps google-maps-api-3 google-street-view
您可以通过将 StreetViewPanoramaOptions 定义为 StreetViewPanorama 对象来实现此目的,您将在声明地图选项时将其初始化为地图变量。当您在街景中时,您可以在 StreetViewPanoramaOptions 中确定控件的位置。 (有关更多信息,请参阅此文档https://developers.google.com/maps/documentation/javascript/reference#StreetViewPanoramaOptions)。这是一个关于如何解决这个问题的sn-p。 (注意:这一切都应该在初始化地图变量之前在您的 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
};
下一步是声明一个 StreetViewPanorama 对象,该对象使用上面的 StreetViewPanoramaOptions 设置为地图的容器/div:
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) 中定位控件的信息,请参阅此来源
【讨论】: