gpt4 book ai didi

google-maps - 在 Google map 的不同图层上显示标记集

转载 作者:行者123 更新时间:2023-12-04 05:36:28 24 4
gpt4 key购买 nike

我需要在谷歌地图上显示一组标记。
我知道标记可以直接添加到谷歌地图上,但鉴于我有 3 组标记,一组用于商店,一组用于公园,另一组用于酒店,我如何在 3 个不同的图层上显示它们,以便以后使用 javascript ,我可以通过以下方式隐藏一组标记:

myLayer2.setMap(null);

我已经检查了 Panoramio 层,但它需要先将图像上传到 panoramio ,但就我而言,出于某些特定的安全原因,我无法将它们上传到 panoramio。我将在本地拥有图像并在运行时根据某些标准设置这些图像。

有没有一些方法可以在不使用 panoramio 方法的情况下进行基于层的工作?

最佳答案

Maps-API 不支持这种自定义图层(您可能从其他 map API 中知道它们,例如传单)。

但是实现类似的功能并不难。

您可以使用 google.maps.MVCObject .为每个“层”创建此 MVCObject 的属性并将此属性的值设置为 null 或 google.maps.Map-instance(
取决于“层”的所需初始状态)

var myLayers=new google.maps.MVCObject();
myLayers.setValues({parks:null,shops:null,hotels:map});
//hotels initially are visible

当您想添加叠加层时...例如一个标记,一个“层”,将该叠加层的 map 属性绑定(bind)到 MVCObject 的相关属性:
   parkMarker=new google.maps.Marker({/*options*/});
parkMarker.bindTo('map',myLayers,'parks');

要切换该“层”内所有功能的显示,您只需设置 MVCObject 的属性:
//show the parks
myLayers.set('parks',map);
//hide the hotels
myLayers.set('hotels',null);

演示: http://jsfiddle.net/doktormolle/UA85N/

关于google-maps - 在 Google map 的不同图层上显示标记集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23033878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com