高德地图移动地图上的某个点

项目中有一个需求是改变标注点的位置。如图


默认添加标注点,设置为地图的中心点,但是项目要求


因为地图是全盘大小,设置标注点,一般默认设置为图片的中心点,如果绿色的标注点。但是需求是想上标注点显示在上半部分蓝色框选部分的中心点,如图红色点的位置。此时就需要改变标注点的位置。 在高德的API 中找了很久,终于找到一个适用的方法。




此题的关键是算出锚点的Y坐标即可。

 CGFloatalertHeight=[selfgetAlertViewHeight];

    CGFloat Y=(SCREEN_HEIGHT-alertHeight-20)*0.5/SCREEN_HEIGHT;

    MAMapStatus *status=[[MAMapStatus alloc]initWithCenterCoordinate: pointAnnotation.coordinate  zoomLevel:16 rotationDegree:0 cameraDegree:0 screenAnchor:CGPointMake(0.5, Y)];

    [_mapView setMapStatus:status animated:NO];

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容