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)。这是有关如何解决此问题的片段。(注意:这一切都应该在初始化 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
    };

下一步是声明一个 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

于 2012-06-07T05:05:04.233 回答