在Google地图上放置街景按钮

sso*_*ell 10 javascript google-maps

如何在相当典型的Google地图上放置街景视图按钮,使其与右上角的标准地图/卫星/混合按钮一致?我已经看到了一个这样的例子,我再也找不到了.所以,我知道这是可能的.

use*_*737 4

是的,确实可以在地图选项中指定控制位置 -在在线文档中查找控制定位

如何指定Google地图控件位置

为了将街景控件定位在右上角,添加

  streetViewControlOptions: {
    position: google.maps.ControlPosition.TOP_RIGHT
  }
Run Code Online (Sandbox Code Playgroud)

到您的地图选项。

检查此演示(使用 Google 地图 API 版本 3):

  streetViewControlOptions: {
    position: google.maps.ControlPosition.TOP_RIGHT
  }
Run Code Online (Sandbox Code Playgroud)
var myLatlng = new google.maps.LatLng(-33, 151);
var myOptions = {
  center: myLatlng,
  zoom: 5,
  streetViewControl: true,
  streetViewControlOptions: {
    position: google.maps.ControlPosition.TOP_RIGHT
  }
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
Run Code Online (Sandbox Code Playgroud)
#map_canvas {
  width: 300px;
  height: 200px;
}
Run Code Online (Sandbox Code Playgroud)

这是官方文档中另一个关于控件定位的示例。

控制放置标识符

这些是 Google 地图控件的所有可能位置(从TOP_LEFTBOTTOM_RIGHT):

  +----------------+ 
  + TL    TC    TR + 
  + LT          RT + 
  +                + 
  + LC          RC + 
  +                + 
  + LB          RB + 
  + BL    BC    BR + 
  +----------------+
Run Code Online (Sandbox Code Playgroud)

有关职位的完整列表及其工作方式,请参阅https://developers.google.com/maps/documentation/javascript/3.exp/reference#ControlPosition

以编程方式更改控制位置

SetOptions您还可以在使用该类的方法google.maps.Map创建地图后动态更改位置。streetViewControl在此示例中,我创建了一个如上所述的位置地图TOP_RIGHT,然后将其更改为LEFT_BOTTOM

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
<div id="map_canvas"></div>
Run Code Online (Sandbox Code Playgroud)
  +----------------+ 
  + TL    TC    TR + 
  + LT          RT + 
  +                + 
  + LC          RC + 
  +                + 
  + LB          RB + 
  + BL    BC    BR + 
  +----------------+
Run Code Online (Sandbox Code Playgroud)
var myLatlng = new google.maps.LatLng(-33, 151);
var myOptions = {
  center: myLatlng,
  zoom: 5,
  streetViewControl: true,
  streetViewControlOptions: {
    position: google.maps.ControlPosition.TOP_RIGHT
  }
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

// now change position to LEFT_BOTTOM changing streetViewControlOptions
// with setOptions
map.setOptions({
  streetViewControlOptions: {
    position: google.maps.ControlPosition.LEFT_BOTTOM
  }
});
Run Code Online (Sandbox Code Playgroud)