iOS百度地图(非Android),点击地图,获取点击位置的坐标并添加上标注

主要是点击地图获取点击位置的坐标,在iOSAPI上没找到类似于android的onTouchEvent方法,请教高手如何处理这种情况,谢谢啦... 主要是点击地图获取点击位置的坐标,在iOS API上没找到类似于android的onTouchEvent方法,请教高手如何处理这种情况,谢谢啦 展开
 我来答
小枫看法
高粉答主

2018-04-18 · 关注最新生活,身边事,好精彩。
小枫看法
采纳数:4018 获赞数:180092

向TA提问 私信TA
展开全部

/**

*点中底图空白处会回调此接口

*@param mapview 地图View

*@param coordinate 空白处坐标点的经纬度

*/

- (void)mapView:(BMKMapView *)mapView onClickedMapBlank:(CLLocationCoordinate2D)coordinate

{

NSLog(@"onClickedMapBlank-latitude==%f,longitude==%f",coordinate.latitude,coordinate.longitude);

NSString* showmeg = [NSString stringWithFormat:@"您点击了地图空白处(blank click).\r\n当前经度:%f,当前纬度:%f,\r\nZoomLevel=%d;RotateAngle=%d;OverlookAngle=%d", coordinate.longitude,coordinate.latitude,

(int)_mapView.zoomLevel,_mapView.rotation,_mapView.overlooking];

_showMsgLabel.text = showmeg;

}

这段代码是能获取空白处的坐标。

然后获取坐标后

//添加标注

- (void)addPointAnnotation

{

pointAnnotation = [[BMKPointAnnotation alloc]init];

CLLocationCoordinate2D coor(使用上面获取的);

coor.latitude = 上面获取的;

coor.longitude = 上面获取的;

pointAnnotation.coordinate = coor;

pointAnnotation.title = @"test";

pointAnnotation.subtitle = @"此Annotation可拖拽!";

[_mapView addAnnotation:pointAnnotation];

[pointAnnotation release];

}

这段代码是实现添加标注的(有几个委托方法是对标注进行操作的,你可以在里面进行相应操作)

水镜Sahib
推荐于2017-11-26 · TA获得超过668个赞
知道小有建树答主
回答量:140
采纳率:100%
帮助的人:117万
展开全部
Lz,你好!
你实现BMKMapViewDelegate这个协议
里面有很多委托方法
/**

*点中底图空白处会回调此接口

*@param mapview 地图View

*@param coordinate 空白处坐标点的经纬度

*/

- (void)mapView:(BMKMapView *)mapView onClickedMapBlank:(CLLocationCoordinate2D)coordinate

{

NSLog(@"onClickedMapBlank-latitude==%f,longitude==%f",coordinate.latitude,coordinate.longitude);

NSString* showmeg = [NSString stringWithFormat:@"您点击了地图空白处(blank click).\r\n当前经度:%f,当前纬度:%f,\r\nZoomLevel=%d;RotateAngle=%d;OverlookAngle=%d", coordinate.longitude,coordinate.latitude,

(int)_mapView.zoomLevel,_mapView.rotation,_mapView.overlooking];

_showMsgLabel.text = showmeg;

}
这段代码是能获取空白处的坐标。
然后获取坐标后
//添加标注

- (void)addPointAnnotation

{

pointAnnotation = [[BMKPointAnnotation alloc]init];

CLLocationCoordinate2D coor(使用上面获取的);

coor.latitude = 上面获取的;

coor.longitude = 上面获取的;

pointAnnotation.coordinate = coor;

pointAnnotation.title = @"test";

pointAnnotation.subtitle = @"此Annotation可拖拽!";

[_mapView addAnnotation:pointAnnotation];

[pointAnnotation release];

}
这段代码是实现添加标注的(有几个委托方法是对标注进行操作的,你可以在里面进行相应操作)
其实看下官方DEMO里面都有。
希望你能早日解决
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
商户中心小服
2014-10-28 · TA获得超过1384个赞
知道大有可为答主
回答量:4693
采纳率:0%
帮助的人:2281万
展开全部
您好,该问题不属于标注认领问题,给您带来了不便,非常抱歉。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式