Google maps GoogleMapApi3-动态隐藏标签
我正在使用一个样式化的地图-现在我喜欢应用一个按钮来隐藏/显示街道的标签 等等。。。但是当我通过“map.setOptions({styles:MyStylesArrayShowLabel})设置样式时 这会杀死我所有已经放置的标记 …有没有一种方法可以在不破坏标记的情况下快速设置样式Google maps GoogleMapApi3-动态隐藏标签,google-maps,google-maps-api-3,google-maps-styled,Google Maps,Google Maps Api 3,Google Maps Styled,我正在使用一个样式化的地图-现在我喜欢应用一个按钮来隐藏/显示街道的标签 等等。。。但是当我通过“map.setOptions({styles:MyStylesArrayShowLabel})设置样式时 这会杀死我所有已经放置的标记 …有没有一种方法可以在不破坏标记的情况下快速设置样式 (所有标记[不包括主标记/infowindo]都是通过sql和php从数据库生成的)是的,您必须使用MapTypeId并将样式化的映射与ID关联。然后使用map.setMapTypeId([MapTypeId])
(所有标记[不包括主标记/infowindo]都是通过sql和php从数据库生成的)是的,您必须使用
MapTypeId
并将样式化的映射与ID关联。然后使用map.setMapTypeId([MapTypeId])
动态更改映射样式,而不是map.setOptions([options])
。我建议大家快速阅读一下这本书,以供参考。但基本上你需要注意的是三件事:
map.mapTypes.set('hide_street_names', hideLabels);
本质上,这意味着您可以使用mapTypeID引用hideLabels
styledmap,在本例中是hide\u street\u name
——与使用google.maps.mapTypeID.ROADMAP
或google.maps.mapTypeID.TERRAIN
等类似
然后,通过设置地图的MapTypeId,在单击操作上切换MapTypeId(或以您当前控制它的方式),即可触发您的样式:
map.setMapTypeId('hide_street_names');
您会注意到,我通过使用-map.setMapTypeId(google.maps.mapTypeID.ROADMAP)将mapTypeID更改回路线图,从而恢复到默认视图代码>