点击屏幕如何获取到地图坐标?

在地图的协议方法中包括地图加载事件回调,地图更新事件回调,地图手势事件回调等。在地图单击手势事件中可获得所点击的屏幕坐标,将屏幕坐标转换为Fengmap地图坐标,即可获取当前坐标值。

#pragma mark - FMKMapViewDelegate
- (void)mapView:(FMKMapView *)mapView didSingleTapWithPoint:(CGPoint)point
{
// 点击的地图坐标
FMKGeoCoord coord = [_mapView coverPoint:point];
}

若FMKLayer相应图层实现元素的拾取事件,当点击地图拾取到相应的元素,如模型、图片标注物等,可通过相应的接口获取元素的地图坐标。

- (void)onMapClickNode:(FMKNode *)nodeinLayer:(FMKLayer *)layer gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
{
if ([layer isKindOfClass:[FMKModelLayer class]]) {
  // 点击的是模型图层的节点
  FMKModel *model = (FMKModel *)node;
  //获取模型的地图中心点坐标
  FMKGeoCoord coord = [model getModelCenterByMapPath:_mapPath];
}
else if ([layer isKindOfClass:[FMKImageLayer class]]) {
  // 点击的是图片标注物图层的节点
  FMKImageMarker * imageMarker = (FMKimageMarker *)node;
  //获取图片标注物的地图坐标
  FMKMapPoint imageMarkerPosition = imageMarker.mapCoord;
 }
}


帮助与支持一切关于Fengmap 平台、地图、开发等问题我们都帮您解答。 运营团队邮箱:operation@fengmap.com   技术团队邮箱:developer@fengmap.com  产品使用交流QQ群:431890341

模板文件不存在: ./template/eyou/pc/footer.htm