代码之家  ›  专栏  ›  技术社区  ›  AndreyAkinshin

在不带map.onmousemove的GoogleMaps中获取光标下的纬度和经度

  •  1
  • AndreyAkinshin  · 技术社区  · 14 年前

    我有谷歌地图对象。我也有西南点和东北点格拉特隆格式。另外,我的对象上还有(x,y)光标。我想知道光标下的glatlng而不使用map.onmousemove(只使用dom onmouvemove)。我尝试编写javascript代码:

            var w = map.getSize().width;
            var h = map.getSize().height;
            var left = map.getBounds().getSouthWest().lat();
            var right = map.getBounds().getNorthEast().lat();
            var top = map.getBounds().getSouthWest().lng();
            var bottom = map.getBounds().getNorthEast().lng();
            var x = e.pageX - map_canvas.offsetLeft;
            var y = e.pageY - map_canvas.offsetTop;
            var lng = top + (bottom - top) * x * 1.0 / w;
            var lat = left + (right - left) * (h - y) * 1.0 / h;
    

    但这样的话,我就没有足够的准确度了。屏幕地理坐标中的法向变换公式是什么?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Peter Bailey    14 年前

    我想你可以用 GMap2.fromContainerPixelToLatLng() GMap2.fromDivPixelToLatLng()

    请参阅上的文档 Coordinate Transformations