Google地圖中文API手冊登入
Google地圖中文API手冊
作者:php.cn  更新時間:2022-04-14 16:36:56

Google 地圖控制集


Google 地圖控制項集


一個Google 地圖- 預設控制項集設定:


Google 地圖- 預設控制項集設定:

當使用一個標準的google地圖,它的預設設定如下:

  • .Zoom-顯示一個滑動條來控制map的Zoom級別

  • .PPan-地圖上顯示的是一個平底碗樣的控件,點擊4個角平移地圖

  • .MapType-允許使用者在map types(roadmap 和satallite)之間切換

  • .StreetView-顯示為街景小人圖標,可拖曳到地圖上某點來開啟街景


Google 地圖- 更多控制集

除了以上預設控制集,Google還有:

  • .Scale-顯示地圖比例尺

  • #.Rotate-顯示一個小的圓週圖標,可以轉動地圖

  • #.verview Map-從一個廣域的視角俯視地圖

#建立地圖時你可以透過設定選項指定哪些控制項集顯示或透過呼叫setOptions() 來改變地圖的設定選項。


Google 地圖 - 關閉預設控制項集

你可能希望能夠關閉預設的控制項集。

為了關閉預設控制項集,設定地圖的disableDefaultUI的屬性為true:

#實例

<html>
<head>
<script
src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false">
</script>

<script>
function initialize()
{
  var mapProp = {
    center: new google.maps.LatLng(51.508742,-0.120850),
    zoom:7,
    disableDefaultUI:true,    
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  var map = new google.maps.Map(document.getElementById("googleMap"),mapProp);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>

<body>
<div id="googleMap" style="width:500px;height:380px;"></div>
</body>
</html>

##執行實例» 點擊"運行實例" 按鈕查看線上實例



Google 地圖- 開所有控制項集

一些控制項集預設顯示在地圖上,而其它的不會,除非你設定它們。

設定控制項為true使其可見-設定控制項為false則隱藏它。

以下實例開啟所有的控制項:

實例

<html>
<head>
<script
src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false">
</script>

<script>
function initialize()
{
  var mapProp = {
    center: new google.maps.LatLng(51.508742,-0.120850),
    zoom:7,
    panControl:true,
    zoomControl:true,
    mapTypeControl:true,
    scaleControl:true,
    streetViewControl:true,
    overviewMapControl:true,
    rotateControl:true,    
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  var map = new google.maps.Map(document.getElementById("googleMap"),mapProp);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>

<body>
<div id="googleMap" style="width:500px;height:380px;"></div>
</body>
</html>

執行實例»點擊"運行實例" 按鈕查看線上實例



Google 地圖- 修改控制項集

某些地圖控制項是可配置的。透過制定控制選項域來改變控制項集。

F舉個例子來說,修改Zoom 控制項的選項在zoomControlOptions指定。 zoomControlOptions包含以下3種選項:

  • .google.maps.ZoomControlStyle.SMALL-顯示最小化zoom 控制項

  • .google.maps. ZoomControlStyle.LARGE-顯示標準zoom滑動控制項

  • .google.maps.ZoomControlStyle.DEFAULT-基於裝置和地圖大小,選擇最適合的控制項

#實例

<html>
<head>
<script
src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false">
</script>

<script>
function initialize()
{
  var mapProp = {
    center: new google.maps.LatLng(51.508742,-0.120850),
    zoom:7,
    zoomControl:true,
    zoomControlOptions: {
      style:google.maps.ZoomControlStyle.SMALL
    },
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  var map = new google.maps.Map(document.getElementById("googleMap"),mapProp);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>

<body>
<div id="googleMap" style="width:500px;height:380px;"></div>
</body>
</html>

#執行實例»#點擊"運行實例" 按鈕查看線上實例

#

注意: 如果需要修改一個控件,首先開啟控件(設定其為true)。

另一個控制項為 MapType 控制項。

MapType 控制項可顯示為下列style 選項之一:

  • google.maps.MapTypeControlStyle.HORIZONTAL_BAR,用於在水平欄中將一組控制項顯示為如Google Maps 中所示按鈕。

  • google.maps.MapTypeControlStyle.DROPDOWN_MENU,用於顯示單一按鈕控件,以便您從下拉式選單中選擇地圖類型。

  • google.maps.MapTypeControlStyle.DEFAULT,用於顯示"預設"的行為,該行為取決於螢幕尺寸,並且可能會在 API 以後的版本中有所變化。

實例

<html>
<head>
<script
src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false">
</script>

<script>
function initialize()
{
  var mapProp = {
    center: new google.maps.LatLng(51.508742,-0.120850),
    zoom:7,
    mapTypeControl:true,
    mapTypeControlOptions: {
      style:google.maps.MapTypeControlStyle.DROPDOWN_MENU
    },
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  var map = new google.maps.Map(document.getElementById("googleMap"),mapProp);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>

<body>
<div id="googleMap" style="width:500px;height:380px;"></div>
</body>
</html>

#執行實例»

點擊"運行實例" 按鈕查看線上實例

同樣你可以使用ControlPosition屬性指定控制項的位置:

#實例

<html>
<head>
<script
src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false">
</script>

<script>
function initialize()
{
  var mapProp = {
    center: new google.maps.LatLng(51.508742,-0.120850),
    zoom:7,
    mapTypeControl:true,
    mapTypeControlOptions: {
      style:google.maps.MapTypeControlStyle.DROPDOWN_MENU,
      position:google.maps.ControlPosition.TOP_CENTER
    },
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  var map = new google.maps.Map(document.getElementById("googleMap"),mapProp);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>

<body>
<div id="googleMap" style="width:500px;height:380px;"></div>
</body>
</html>

執行實例»

點擊"運行實例" 按鈕查看線上實例



Google 地圖- 自訂控制項集

建立一個返回倫敦自訂控件,用於點擊事件: (如果地圖被拖曳):

實例

<html>
<head>
<script
src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false">
</script>

<script>
var map;
var london = new google.maps.LatLng(51.508742,-0.120850);

// Add a Home control that returns the user to London
function HomeControl(controlDiv, map) {
  controlDiv.style.padding = '5px';
  var controlUI = document.createElement('div');
  controlUI.style.backgroundColor = 'yellow';
  controlUI.style.border='1px solid';
  controlUI.style.cursor = 'pointer';
  controlUI.style.textAlign = 'center';
  controlUI.title = 'Set map to London';
  controlDiv.appendChild(controlUI);
  var controlText = document.createElement('div');
  controlText.style.fontFamily='Arial,sans-serif';
  controlText.style.fontSize='12px';
  controlText.style.paddingLeft = '4px';
  controlText.style.paddingRight = '4px';
  controlText.innerHTML = '<b>Home<b>'
  controlUI.appendChild(controlText);

  // Setup click-event listener: simply set the map to London
  google.maps.event.addDomListener(controlUI, 'click', function() {
    map.setCenter(london)
  });
}

function initialize() {
  var mapDiv = document.getElementById('googleMap');
  var myOptions = {
    zoom: 12,
    center: london,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  }
  map = new google.maps.Map(mapDiv, myOptions); 
  // Create a DIV to hold the control and call HomeControl()
  var homeControlDiv = document.createElement('div');
  var homeControl = new HomeControl(homeControlDiv, map);
//  homeControlDiv.index = 1;
  map.controls[google.maps.ControlPosition.TOP_RIGHT].push(homeControlDiv);
}

google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>

<body>
<div id="googleMap" style="width:500px;height:380px;"></div>
</body>
</html>

#運行實例»##點擊"運行實例" 按鈕查看線上實例



Google 地圖- 控制項集參考手冊

Google Maps API 參考手冊.

#