【问题标题】:Google Maps JavaScript API: Map Type Control, disable checkbox "labels"Google Maps JavaScript API:地图类型控制,禁用复选框“标签”
【发布时间】:2018-03-23 22:28:47
【问题描述】:
在 Google Map API 中,我们在右上角有 Map Type Control,所以我们可以在 Map|Satellite 之间进行选择。
我的问题是当我点击“卫星”时,会出现一个带有输入“标签”的复选框,当我点击“地图”时,会出现一个带有输入“地形”的复选框。
我想禁用复选框控制并修复卫星,并在单击时不显示复选框的情况下选中标签,与地图类型相同,我希望在单击时不显示复选框而不选中“地形”。
【问题讨论】:
标签:
google-maps
google-maps-api-3
google-maps-api-2
【解决方案1】:
要删除这些复选框,并将按钮设置为您想要的选项,请为地图创建自定义 mapTypeIds 属性,删除“地形”和“卫星”(因此唯一的 typeId 是“路线图”和“混合” ):
mapTypeControlOptions: {
mapTypeIds: ['roadmap', 'hybrid']
}
proof of concept fiddle(修改自文档中的this example)
代码 sn-p:
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 4,
center: {
lat: -33,
lng: 151
},
mapTypeControlOptions: {
mapTypeIds: ['roadmap', 'hybrid']
}
});
}
html,
body,
#map {
height: 100%;
margin: 0;
padding: 0;
}
<div id="map"></div>
<script async defer src="https://maps.googleapis.com/maps/api/js?callback=initMap&key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk">
</script>