有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Google maps api v3多个标记、多个信息窗口、3个图标

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

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

  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


共 (2) 个答案

  1. # 1 楼答案

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

    有几个Javascript库在客户端实现集群,很容易集成到现有的mashup中:

    您还可以阅读这篇blog post文章,其中介绍了各种备选方案,或者这篇blog post文章讨论了服务器端集群的细节

  2. # 2 楼答案

    我最近也遇到了同样的问题,在肖恩·维埃拉的帮助下,我解决了大部分问题

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

    场景的变化是,只需向数组中添加一个附加字段,在该字段中指定要使用的标记的URL路径

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

    由于您只有三种图标类型,我假设您将从数据库中填充记录,您需要测试访问点的类型,然后在该位置为标记类型写入相关的URL路径(我是ASP,不是PHP人员,请原谅,使用“写入”这个词是不正确的)

    我的解决方案不能很好地处理infowindows。一旦打开,它们将保持打开状态,除非用户手动关闭。我已经看到了一些解决方案,可以在新的解决方案打开时关闭其他解决方案,但还没有实现它们