如何在 Google Maps API 中的完全相同的坐标处渲染多个标记?

2024-01-11

我在同一条街上有多个地址,门牌号相同,但公寓号不同。 Google 地图地理编码服务 (v2) 对于许多地址来说并没有达到公寓级别的精度,只是返回了与它们完全相同的地理编码坐标。

所以问题是,当我去显示它们时,无论放大多少,都只显示一个图钉。我的问题是;在完全相同的房屋地址渲染多个图钉的好方法是什么?我已经看到 craigslist.org 如何在其新地图功能上的图钉中创建螺旋,但想知道我的其他选择是什么,因为这似乎充其量只是一种解决方法。

Ideas?


我使用解决了这个问题Google 的动态图表图标 https://developers.google.com/chart/image/docs/gallery/dynamic_icons#plain_pin它允许您在图钉中输入一个数字,以识别在该确切的某个点上有多个标记。基本上,您使用一些查询参数调用他们的“图表”网址,他们会返回您的编号图标,然后您可以将其放置/设置在该位置的现有标记中。

var markerImage = createMarkerImage(numDuplicates + 1);
existingMarker.setIcon(markerImage);

function createMarkerImage(text)
{
    var pinImage = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=" + text + "|FF8985|000000",
    new google.maps.Size(21, 34),
    new google.maps.Point(0,0),
    new google.maps.Point(10, 34));
    return pinImage;
}

NOTE:此解决方案使用已弃用的 Google API,且未发布结束日期。

“重要提示:Google 图表工具的图像图表部分已 自 2012 年 4 月 20 日起正式弃用。它将继续工作 根据我们的弃用政策。”


UPDATE:
我已经放弃了上述解决方案,因为它已被弃用(并且对许多标记有性能影响),在编号标记的相同最终效果的 leiu 中,但使用以标记形状定义多边形的坐标路径以及.png对于标记阴影。我使用自己的自定义标记的唯一原因是因为我需要创建单独的标记,每个标记都有独特的颜色(可能还有嵌入的数字),而普通标记不支持。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Google Maps API 中的完全相同的坐标处渲染多个标记? 的相关文章