获取地图容器中某个像素的LatLng

时间:2011-08-15 08:59:16

标签: javascript google-maps google-maps-api-3

如何确定地图画布div中某个像素(未通过点击确定!)对应哪个LatLng?比方说,我在地图画布div中有一个像素的x和y“偏移”,我想找出一个LatLng,这个像素对应于(f.ex.,在其上放置一个标记)。

1 个答案:

答案 0 :(得分:1)

您需要实现一个扩展google.maps.OverlayView的Javascript类(http://code.google.com/apis/maps/documentation/javascript/reference.html#OverlayView)。

当平移地图时,将调用类的draw()方法。在该方法中,您可以调用getProjection()来获取MapProjection对象,然后使用MapProjection.fromContainerPixelToLatLng将像素(相对于地图的左上角)转换为LatLng。

这是如此复杂的原因是它几乎肯定不是正确的事情。为什么需要在像素空间中放置相对于地图的内容?地图用户往往对“真实世界”空间感兴趣(例如地球表面上的点)。