我正在使用 Google Maps API Styled Map Wizard ( http://gmaps-samples-v3.googlecode.com/svn/trunk/styledmaps/wizard/index.html?utm_medium=twitter ) 来自定义我想使用的 map 的外观,该 map 放大到街道级别(缩放:16)。我基本上想摆脱所有标签、文本或图标。我到达那里大约 95% 但仍然存在某些标签,即:正方形的名称。
直到现在我还没有找到一种方法来隐藏这些标签。尽管我怀疑 Google map (或此工具)的自定义功能存在错误,但我想问一下是否有人遇到过同样的问题?有人对如何处理甚至解决这个问题有任何建议吗?
下面是说明问题的屏幕截图。
欢迎任何提示。谢谢!
function initialize() {
var mapStyles = [
{
"featureType": "administrative",
"stylers": [ { "visibility": "off" } ]
},{
"featureType": "road",
"elementType": "labels",
"stylers": [ { "visibility": "off" } ]
},{
"featureType": "road",
"elementType": "geometry.stroke",
"stylers": [ { "visibility": "off" } ]
},{
"featureType": "road",
"elementType": "geometry.fill",
"stylers": [
{ "visibility": "on" },
{ "color": "#ffffff" }
]
},{
"featureType": "transit",
"stylers": [ { "visibility": "off" } ]
},{
"featureType": "poi.attraction",
"stylers": [ { "visibility": "off" } ]
},{
"featureType": "poi.business",
"stylers": [ { "visibility": "off" } ]
},{
"featureType": "poi.government",
"stylers": [ { "visibility": "off" } ]
},{
"featureType": "poi.medical",
"stylers": [ { "visibility": "off" } ]
},{
"featureType": "poi.park",
"elementType": "labels",
"stylers": [ { "visibility": "off" } ]
},{
"featureType": "poi.place_of_worship",
"stylers": [ { "visibility": "off" } ]
},{
"featureType": "poi.school",
"stylers": [ { "visibility": "off" } ]
},{
"featureType": "poi.sports_complex",
"stylers": [ { "visibility": "off" } ]
},{
"featureType": "landscape.man_made",
"stylers": [
{ "visibility": "on" },
{ "color": "#fce8f0" }
]
},{
"featureType": "landscape.natural",
"elementType": "labels",
"stylers": [ { "visibility": "off" } ]
},{
"featureType": "landscape.natural",
"elementType": "geometry",
"stylers": [
{ "color": "#fce8f0" },
{ "visibility": "on" }
]
},{
"featureType": "water",
"elementType": "labels",
"stylers": [ { "visibility": "off" } ] },
{ }
];
var mapOptions = {
center: { lat: 52.519772, lng: 13.399022},
zoom: 16,
scrollwheel: false,
mapTypeControl: false,
panControl: false,
zoomControl: false,
scaleControl: false,
streetViewControl: false,
styles: mapStyles
};
var map = new google.maps.Map(document.getElementById('map-canvas'),mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
最佳答案
如果您想删除所有文本标签,请将它们全部关闭:
var mapStyles = [{
featureType: "all",
elementType: "labels.text",
stylers: [{
visibility: "off"
}]
}];
如果你想去掉所有标签,
elementType: "labels"
两者都适用 labels.text
和 labels.icon
等。同样适用于特征类型。var mapStyles = [{
featureType: "all",
elementType: "labels",
stylers: [{
visibility: "off"
}]
}];
JSFiddle demo
来自 documentation :但是请注意,父要素可能包含一些未包含在其子要素类型之一中的附加要素。
关于google-maps - 无法在 Google map 中隐藏某些特征类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26103516/