项目中有一个需求是改变标注点的位置。如图
默认添加标注点,设置为地图的中心点,但是项目要求
因为地图是全盘大小,设置标注点,一般默认设置为图片的中心点,如果绿色的标注点。但是需求是想上标注点显示在上半部分蓝色框选部分的中心点,如图红色点的位置。此时就需要改变标注点的位置。 在高德的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];