我使用的是c++开发,没有使用到qml,所以不介绍qml的方法,arcgis for qt不像谷歌地图那些api,直接调用接口就可以获取当前坐标,并且默认就给你wgs84坐标。
arcgis for qt有一个接口就是 MapGraphicsView->screentoLocation(Point),是用于转化坐标的,比如当你单机了地图,你可以使用这个接口,但是这个只是获取Bing Maps WebMercator投影,即wkid为102100
但是这并不是我们想要的坐标,并且也可以看到经纬度根本就不正确,所以我们需要用到坐标转化
转换完成之后,我们可以看到wkid已经正确,经纬度正确。
代码:
void T3::onMouseClicked(QMouseEvent &event)
{
//单机地图时触发
Point point = m_mapView->screenToLocation(event.x(), event.y()); //本地坐标转地图坐标
qDebug() << "point::" <<point << ":::" << point.x()<<"::"<<point.y();
Geometry geometryWgs84 = GeometryEngine::project(point, SpatialReference::wgs84()); //坐标转化
qDebug() << "pointxxxxxx:::" << geometryWgs84;
}
ヾ( ̄▽ ̄)ByeBye