在没有map.onMouseMove的情况下在GoogleMaps中获取光标下的纬度和经度
我有 GoogleMaps 对象。我还有 GLatLng 格式的西南点和东北点。另外,我的对象上有 (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;
但这样我的准确性不够。屏幕地理坐标的正常变换公式是什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为您可以使用
GMap2.fromContainerPixelToLatLng()
或GMap2.fromDivPixelToLatLng()
请参阅 坐标变换
I think you can use
GMap2.fromContainerPixelToLatLng()
orGMap2.fromDivPixelToLatLng()
See the documentation on Coordinate Transformations