像素距离在谷歌地图(API V3),以避免重叠的标签/覆盖

Pixel distance in Google Map (API V3) to avoid overlapping labels / overlays

本文关键字:重叠 标签 覆盖 谷歌地图 距离 API V3 像素      更新时间:2023-09-26

在Google地图中计算坐标(经度/纬度)之间的像素距离的最佳方法是什么?我是而不是询问以公里/英里为单位的距离(因此我有一个库),但考虑到当前缩放系数,屏幕上的像素。

背景:我想绘制叠加而不重叠。所以我需要计算这些位置的偏移量。因此,在较低的变焦系数下,500公里的距离可能意味着重叠,而50公里的距离则不重叠。

当然,任何其他不基于像素距离的避免重叠的算法都将受到赞赏。

—Update—

猜测是在群集的方向,将检查这个:

  1. http://www.appelsiini.net/2008/11/introduction-to-marker-clustering-with-google-maps
  2. 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

为了得到投影,我将使用这里的答案:

  1. 将Google Map上的点平移到屏幕上的特定像素位置(API v3)
  2. 如何从latlgtodivpixel在谷歌地图API V3调用?

首先,我发现我正在寻找的是集群库/示例的主题:

  1. http://www.appelsiini.net/2008/11/introduction-to-marker-clustering-with-google-maps
  2. http://google-maps-utility-library-v3.googlecode.com/svn/tags/markerclusterer/1.0/examples/advanced_example.html

示例向我展示了一种方法google.maps.MapCanvasProjection.fromLatLngToDivPixel,它需要地图的投影。最后,下面的主题揭示了如何得到这个投影:

  1. 将Google Map上的点平移到屏幕上的特定像素位置(API v3)
  2. 如何从latlgtodivpixel在谷歌地图API V3调用?