在Google地图中计算坐标(经度/纬度)之间的像素距离的最佳方法是什么?我是而不是询问以公里/英里为单位的距离(因此我有一个库),但考虑到当前缩放系数,屏幕上的像素。
背景:我想绘制叠加而不重叠。所以我需要计算这些位置的偏移量。因此,在较低的变焦系数下,500公里的距离可能意味着重叠,而50公里的距离则不重叠。
当然,任何其他不基于像素距离的避免重叠的算法都将受到赞赏。
—Update—
猜测是在群集的方向,将检查这个:
- 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
—Update—
我很可能在这里使用:http://code.google.com/apis/maps/documentation/javascript/reference.html
google.maps.MapCanvasProjection.fromLatLngToDivPixel
为了得到投影,我将使用这里的答案:
- 将Google Map上的点平移到屏幕上的特定像素位置(API v3)
- 如何从latlgtodivpixel在谷歌地图API V3调用?
首先,我发现我正在寻找的是集群库/示例的主题:
- 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
,它需要地图的投影。最后,下面的主题揭示了如何得到这个投影:
- 将Google Map上的点平移到屏幕上的特定像素位置(API v3)
- 如何从latlgtodivpixel在谷歌地图API V3调用?