10

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

4

1 回答 1

3

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

如何指定谷歌地图控件位置

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

  streetViewControlOptions: {
    position: google.maps.ControlPosition.TOP_RIGHT
  }

到您的地图选项。

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

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);
#map_canvas {
  width: 300px;
  height: 200px;
}
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
<div id="map_canvas"></div>

这是官方文档中另一个控制定位的例子。

控制放置标识符

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

  +----------------+ 
  + TL    TC    TR + 
  + LT          RT + 
  +                + 
  + LC          RC + 
  +                + 
  + LB          RB + 
  + BL    BC    BR + 
  +----------------+

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

以编程方式更改控制位置

您还可以使用SetOptions的方法在创建地图后动态更改位置。在这个例子中,我创建了一个上面的地图,然后将其更改为:google.maps.MapstreetViewControlTOP_RIGHTLEFT_BOTTOM

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
  }
});
#map_canvas {
  width: 300px;
  height: 200px;
}
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
<div id="map_canvas"></div>

于 2015-08-06T11:35:37.197 回答