首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >谷歌地图应用编程接口v3 -多个标记,多个信息窗口,3个图标

谷歌地图应用编程接口v3 -多个标记,多个信息窗口,3个图标
EN

Stack Overflow用户
提问于 2010-03-30 17:06:08
回答 3查看 5.8K关注 0票数 0

我想做"WiFi地图“,我有问题,我想有3个图标打开/WEP/WPA,和许多标记,每个标记都有自己的信息窗口,只有一个在顶部的信息窗口,所以当我点击#1,然后#2,然后#1将隐藏。如果我有XXXX个标记,在地图上放大缩小就会有问题,有可能会有很多标记在一个地方都不会显示缩小,而是放大了,是吗?

我在MySQL数据库中有关于网络的所有信息,所以在PHP中很容易显示它,就像在谷歌地图官方文档教程/v3/overlays.html#ComplexIcons <-所以遵循这个我可以有的例子

代码语言:javascript
运行
复制
  var nodes = [
['WKKOZ',50.192843,18.967801,nodewep,1],
['airlive',50.193056,18.967974,nodeopen,2],
['Zurawia-3',50.198398,18.974723,nodeopen,3],
['siec dol',50.19303,18.96796,nodewep,4],
['KP_8_1',50.193092,18.96801,nodewep,5],
['Natalia',50.19286,18.967812,nodewpa,6],
['Z104',50.192591,18.967588,nodewep,7],
['D2',50.192499,18.96876,nodewep,8],
['Niesia',50.192474,18.968239,nodewpa,9],
['boolean',50.192539,18.967545,nodewpa,10],
['neostrada_0d65',50.192179,18.96758,nodewep,11],
['neostrada_2d38',50.192216,18.96761,nodewep,12],
['Belkin_G_Wireless_9B7BF7',50.192191,18.969261,nodeopen,13],
['Trans_FijPn',50.1939,18.979565,nodeopen,14],
['dlinklis',50.193113,18.968024,nodewpa,15]

请帮帮我!:)

顺便说一句:我的MySQL数据库的格式是http://wklej.to/7Puw/html

EN

回答 3

Stack Overflow用户

发布于 2010-03-30 18:53:57

我想你是在问如何在地图上有大量的标记,这些标记在较高的缩放级别下会被隐藏。这就是所谓的标记聚类。

有一些Javascript库可以在客户端实现集群,并且很容易集成到现有的mashup中:

mashup -我used了一个混搭,发现它很容易集成,有一组很好的默认图标。

  • ClusterMarker -我还没有用过这个,但它看起来很实用。

您还可以阅读这个讨论各种备选方案的blog post,或者这个讨论服务器端集群细节的blog post

票数 1
EN

Stack Overflow用户

发布于 2010-05-25 23:42:59

我最近遇到了完全相同的问题,在肖恩·维埃拉的帮助下,我设法解决了大部分问题。

这个问题的答案在这里:Display multiple markers on a map with their own info windows

您的方案的变体是,您只需在数组中添加一个额外的字段,在该字段中指定您希望使用的标记的URL路径。

然后,在循环创建标记时(从var marker = new google.maps.Marker开始),您将从数组中调用icon变量的值。

由于您只有三种图标类型,并且我假设您将从DB填充您的记录,因此您将测试访问点的类型,然后在该位置为标记类型编写相关的URL路径(我是ASP人员,而不是PHP人员,所以请原谅术语write的使用是不正确的)。

我的解决方案不能干净利落地处理infowindows。一旦打开,它们将保持打开状态,除非用户手动关闭。我已经看到了在打开新的解决方案时关闭其他解决方案,但到目前为止还没有实现它们。

票数 1
EN

Stack Overflow用户

发布于 2011-05-02 05:05:15

我知道这是一个古老的问题,但由于我有一个答案,所以我将把它写出来,让后人看到:)

背景问题的解决是很容易解决的。创建一个名为currentWindow的全局变量。每当用户按下标记时,事件侦听器都会检查currentWindow是否为infoWindow。如果不是,则关闭currentWindow并将其设置为新的infowindow。简单明了,只需记住打开新的infowindow即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2543971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档