计算 Google map 中坐标(纬度/经度)之间的像素距离的最佳方法是什么。我不是询问以公里/英里为单位的距离(因此我有一个 library ),而是考虑当前缩放系数的屏幕像素。
背景:我想在不重叠的情况下绘制叠加层。所以我需要计算这些位置的偏移量。因此,在较低的缩放系数下,500 公里的距离可能意味着叠加层重叠,而在 50 公里处则不会。
当然,任何其他不基于像素距离的避免重叠的算法都会受到赞赏。
-- 更新--
猜测是朝着聚类的方向发展,将检查这个:
- http://www.appelsiini.net/2008/11/introduction-to-marker-clustering-with-google-maps
- http://google-maps-utility-library-v3.googlecode.com/svn/tags/markerclusterer/1.0/examples/advanced_example.html
-- 更新--
很可能我可以在这里使用它:http://code.google.com/apis/maps/documentation/javascript/reference.html
google.maps.MapCanvasProjection.fromLatLngToDivPixel
为了获得投影,我将使用此处的答案:
最佳答案
首先我发现我要找的是集群库/示例的主题:
- http://www.appelsiini.net/2008/11/introduction-to-marker-clustering-with-google-maps
- http://google-maps-utility-library-v3.googlecode.com/svn/tags/markerclusterer/1.0/examples/advanced_example.html
示例向我展示了一种方法 google.maps.MapCanvasProjection.fromLatLngToDivPixel
,它需要 map 的投影。最终,以下主题揭示了如何获得此投影:
关于javascript - Google Map (API V3) 中的像素距离以避免标签/叠加层重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7092085/