访问Google地图的样式化地图类型中的要素类型

时间:2015-12-03 15:57:40

标签: google-maps-api-3 google-maps-styled

例如Git branching while files are opened我使用了不同风格的mapTypes:Google Light,Google Dark和Google Gray。我想用一个按钮打开/关闭所有标签,而不更改整个mapType。我正在寻找一种方法来只通过Javascript设置featureType标签的可见性开启/关闭:

{featureType:'label',stylers:[{visibility:'offon'}]}

如何在MapType中访问featureType?

1 个答案:

答案 0 :(得分:0)

获取de mapTypes的样式。

当标签关闭时,在数组末尾推送一个样式。

在标签上的数组末尾弹出此样式。

function doLabels() {
var theCurrentMapType = theMap.getMapTypeId();
var theMapTypes = ['GOOGLE_LIGHT', 'GOOGLE_DARK', 'GOOGLE_GREY'];
for (i = 0; i < theMapTypes.length; i++) { // change all maptypes, to hold labels on/off
    var theMapStyles = theMap.mapTypes[theMapTypes[i]].styles;
    if ($('#labelsonoff input').is(":checked")) theMapStyles.pop();
    else theMapStyles.push({featureType:'all', elementType:'labels', stylers:[{visibility:'off'}]});            
}   
theMap.setMapTypeId('GOOGLE_WHITE'); // change first to other maptype
theMap.setMapTypeId(theCurrentMapType);     // then back to current maptype

}