2011-06-10 45 views
10

我想從我的地圖中刪除所有控件(縮放,地圖類型下拉和街道視圖)。從谷歌地圖中刪除所有控件

有一個方法

map.removeControl(GControl) 

,但我一直沒能成功刪除,我還沒有添加任何自己默認的。

從地圖上刪除/清除所有控件的任何提示?

回答

24

你有沒有嘗試過這樣的:

http://code.google.com/apis/maps/documentation/javascript/controls.html#DisablingDefaults

function initialize() { 
    var myOptions = { 
    zoom: 4, 
    center: new google.maps.LatLng(-33, 151), 
    disableDefaultUI: true, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    } 
    var map = new google.maps.Map(document.getElementById("map_canvas"), 
     myOptions); 
} 
+0

Thanks,disableDefaultUI:true is the one 。 – Atticus 2011-06-10 20:53:27

+2

在地圖呈現後沒有辦法隱藏ui控件嗎?當我想啓用/禁用這些控件時,我並不期待創建一個新的Map對象。 – 2013-12-03 07:41:24

+0

@DanielvanDommele試試這個map.setOptions({disableDefaultUI:true}); https://stackoverflow.com/questions/48980654/is-there-a-way-to-hide-all-the-ui-controls-of-google-map-after-initialised/48980867#48980867 – kishorekumaru 2018-02-26 03:07:04

2

我相信你可以創建一個GMapUIOptions對象的副本,然後刪除你不想出現的項目。

http://code.google.com/apis/maps/documentation/javascript/v2/controls.html#MapUIOptions

「使用GMapUIOptions對象

的GMapUIOptions對象包含了一組指定控件位置和用戶界面行爲,你可以修改的屬性。對於一個完整的屬性,看GMapUIOptions參考 您可能希望使用Google Maps上的UI行爲預先填充GMapUIOptions結構,您可以使用GMap2.getDefaultUI()方法。填充後,您可以修改單個屬性進行調整該行爲並使用GMap2.setUI()方法初始化映射的UI控件。 以下代碼檢索「大」地圖上的默認UI,刪除GScaleControl並重置地圖以使用修改後的用戶界面。

map = new GMap2(document.getElementById("map_canvas"), 
    { size: new GSize(400,150) }); 
map.setCenter(new GLatLng(41.897997,-87.790203), 11); 
var customUI = map.getDefaultUI(); 
customUI.controls.scalecontrol = false; 
map.setUI(customUI); 

+0

我使用的是V3,似乎getDefaultUI不再用過的。您可以指定在MapOptions中使用哪些選項,但我沒有看到選擇無的方法。 – Atticus 2011-06-10 07:16:14

+0

啊,對不起,我的不好 - 他們現在已經放棄了V2 API,對吧?我想祕密可能在於如何調用Google地圖的實例:http://code.google.com/apis/maps/documentation/javascript/controls.html#ControlModification – benosteen 2011-06-10 08:31:39

3

您可能會看到這一點:google map api by w3schools

當你在鏈接看到,這將禁用所有控件:

disableDefaultUI:true 

,這一次帶給你選項,禁用或無法保持:

panControl:true, 
zoomControl:true, 
mapTypeControl:true, 
scaleControl:true, 
streetViewControl:true, 
overviewMapControl:true, 
rotateControl:true 
2

只是disableDefaultUI:真

function initMap() { 
    var map = new google.maps.Map(document.getElementById('map'), { 
    zoom: 4, 
    center: {lat: -33, lng: 151}, 
    disableDefaultUI: true 
    }); 
}