我正在使用Google Maps API V3,我想知道当用户是INSIDE街景时,我可以如何更改元素的位置(如图http://www.pikky.net/uploads/d6964cfad0bb97cc3ada7852df260a715234d69a.png所示)。
谢谢,
米尔科
答案 0 :(得分:3)
您可以通过将StreetViewPanoramaOptions定义为StreetViewPanorama对象来实现此目的,该对象在声明地图选项时将初始化为地图变量。在StreetViewPanoramaOptions中,您可以确定当您在街景中时控件的位置。 (有关详细信息,请参阅此文档https://developers.google.com/maps/documentation/javascript/reference#StreetViewPanoramaOptions)。这是一个如何解决这个问题的片段。 (注意:这应该在初始化map变量之前在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)
中定位控件