2011-06-10 127 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 
    }); 
}