【发布时间】:2013-02-17 08:49:31
【问题描述】:
是否有可能改变地图上不同缩放级别的名称(标签)/边界的显示方式?
例如,我有 17 个缩放级别。我想开始仅在缩放级别 10 上显示详细信息(国家/地区名称)。
换句话说:地图上的详细程度如何与缩放级别相关联以及如何调整?
【问题讨论】:
标签: google-maps google-maps-api-3
是否有可能改变地图上不同缩放级别的名称(标签)/边界的显示方式?
例如,我有 17 个缩放级别。我想开始仅在缩放级别 10 上显示详细信息(国家/地区名称)。
换句话说:地图上的详细程度如何与缩放级别相关联以及如何调整?
【问题讨论】:
标签: google-maps google-maps-api-3
function show_map(lat, lng) {
var labelsOff = [{
featureType: "administrative",
elementType: "labels",
stylers: [{
visibility: "off"
}]
}, {
featureType: "poi",
elementType: "labels",
stylers: [{
visibility: "off"
}]
}, {
featureType: "water",
elementType: "labels",
stylers: [{
visibility: "off"
}]
}, {
featureType: "road",
elementType: "labels",
stylers: [{
visibility: "off"
}]
}];
var labelsOn = [{
featureType: "administrative",
elementType: "labels",
stylers: [{
visibility: "on"
}]
}, {
featureType: "poi",
elementType: "labels",
stylers: [{
visibility: "on"
}]
}, {
featureType: "water",
elementType: "labels",
stylers: [{
visibility: "on"
}]
}, {
featureType: "road",
elementType: "labels",
stylers: [{
visibility: "on"
}]
}];
latlng = new google.maps.LatLng(51.477391, -0.000853);
myOptions = {
zoom: 3,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map"), myOptions);
map.setOptions({
styles: labelsOff
});
google.maps.event.addListener(map, 'zoom_changed', function () {
google.maps.event.addListenerOnce(map, 'tilesloaded', function () {
if (map.getZoom() >= 10) {
map.setOptions({
styles: labelsOn
});
} else {
map.setOptions({
styles: labelsOff
});
}
});
});
}
show_map();
希望这就是您想要的。显然你可以编辑这些特征类型来隐藏不同的东西。
抱歉,必须修改。忘了the fiddle!
【讨论】: