从 MapView 中选择位置
Posted
技术标签:
【中文标题】从 MapView 中选择位置【英文标题】:Selecting Location from MapView 【发布时间】:2012-01-30 18:40:48 【问题描述】:我正在考虑一个应用程序,用户可以在 iphone 应用程序上选择一个位置。我用谷歌搜索了它,没有发现任何有用的东西。
我的问题是,是否可以让用户使用 MapKit/CLLocation 从 iphone 应用程序中选择一个位置?如果是,请帮我从哪里开始。
谢谢
【问题讨论】:
【参考方案1】:您可以在地图上添加长按手势识别器:
UILongPressGestureRecognizer* lpgr = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleLongPress:)];
lpgr.minimumPressDuration = 1.5;
lpgr.delegate = self;
[self.map addGestureRecognizer:lpgr];
[lpgr release];
在句柄长按方法中获取CLLocationCordinate2D:
- (void) handleLongPress:(UILongPressGestureRecognizer *)gestureRecognizer
if (gestureRecognizer.state == UIGestureRecognizerStateBegan)
/*
Only handle state as the touches began
set the location of the annotation
*/
CLLocationCoordinate2D coordinate = [self.map convertPoint:[gestureRecognizer locationInView:self.map] toCoordinateFromView:self.map];
[self.map setCenterCoordinate:coordinate animated:YES];
// Do anything else with the coordinate as you see fit in your application
【讨论】:
【参考方案2】:看看this SO answer。答案不仅告诉您如何获取坐标,还告诉您如何在地图上放置图钉(注解)。
【讨论】:
以上是关于从 MapView 中选择位置的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Android 的 MapView 中更新当前位置的蓝点标记