【问题标题】:Get the coordinates of the corners of a rectangle superimposed on a map获取叠加在地图上的矩形角的坐标
【发布时间】:2014-06-19 10:38:35
【问题描述】:
我正在开发一个显示地图视图的应用程序。
叠加于此,我绘制了一个矩形,其中心始终位于屏幕中心,因此是地图的中心。
我可以移动矩形的一个角来调整它的大小以选择地图上的一个区域。
我只有矩形(和地图)中心的坐标(纬度/经度)、矩形的高度和大小(像素或厘米)。
如何获取矩形角的坐标??
我应该计算矩形大小和地图高度之间的比例吗?然后呢?
请解释一下这个问题:)
提前致谢
【问题讨论】:
标签:
algorithm
map
maps
coordinate-systems
coordinate-transformation
【解决方案1】:
我找到了解决方案。
我为 BlackBerry 10 开发了该应用程序,在 MapView 类中有一些非常有用的方法。
获取在地图视图上绘制的矩形角的坐标(例如在地图上选择一个区域)
使用
bb::platform::geo::Point windowToWorld (const QPoint &windowCoordinates)
调用windowToWorld 传递角像素的坐标,相对于轴原点。该方法返回屏幕上点的坐标(纬度/经度) (x,y)。
警告:窗口坐标的原点是 MapView 窗口(不是屏幕)的左上角,正值向右(x 轴)和向下(y 轴) .
如果您想反其道而行之,请使用 worldToWindow 方法将世界坐标(纬度/经度)转换为窗口坐标(像素)。
例如:在地图视图上绘制一个地理点