3

我正在使用来自http://code.google.com/p/gmaps-utility-library-dev/的 GMaps V3 和 MarkerClusterer

地图上显示的标记是用户定义的,并且经常折叠,因此无论您放大多少,聚类器始终显示一个位置有多个项目。但是用户应该能够单击每个标记以查看信息窗口。你知道有什么办法来处理这个吗?

我尝试在服务器上随机化一些位置,但随机性不够随机,标记不断崩溃,只是不那么频繁。

4

3 回答 3

4

我遇到了这个问题,并通过定义“maxZoom”的构造函数属性来解决它,该属性低于谷歌地图的 maxZoom:

var markerCluster = new MarkerClusterer(map, markers, { maxZoom: 18 });
于 2011-07-25T00:24:00.183 回答
3

在我之前的答案中回复 OP 的评论,因为它不适合评论框:

这可以防止聚类器对标记进行分组,但是当坐标相同时,所有标记都保持在彼此之上。您知道任何解决方法吗?

我认为这是谷歌地图的预期行为——如果标记具有完全相同的纬度/经度,那么你会得到彼此重叠的标记。

一种可能的解决方法是只将第一个标记添加到地图,然后当您尝试将另一个标记添加到已经定义的纬度/经度(使用 JS 地图跟踪它们)时,您可以添加一个计数(或建立一个标记信息数组)并使用该信息更新信息窗口文本。例如,单击标记会显示一个信息窗口,说明该位置有 15 个“事物”,然后在其下方的列表中列出它们的名称和属性...

另一种可能性是通过在十进制 lat/lng 末尾添加一个随机数来“抖动”后续标记。这样,当用户一直放大时,标记会稍微偏移。不过,这个选项感觉有点“脏”。

于 2011-08-03T06:05:35.133 回答
0

添加标记时,您可以检查同一位置是否有其他标记,并且在信息窗口中您可以注意到有多个标记。

于 2010-11-06T22:44:43.913 回答