地理标记/绘图 MapKit 核心定位
Posted
技术标签:
【中文标题】地理标记/绘图 MapKit 核心定位【英文标题】:Geotagging/Plotting MapKit Corelocation 【发布时间】:2012-08-16 17:48:45 【问题描述】:我创建了一个应用程序,它使用 MapKit 在谷歌地图上简单地显示用户的当前位置。
但是我现在想更进一步,通过允许用户自己在地图上绘制点来为应用程序添加更多功能。
我以某种方式相信使用 CoreLocation 将通过接收和保存用户在地图上选择的位置的坐标来实现这一点。
我这样说对吗?以及我将如何实现这一点的任何想法?链接或教程也会很有帮助,而且任何个人经验/想法都会很棒。
我在这个应用程序之前创建了一个实现 coreLocation 的应用程序,编译/运行完美.. 只是没有更新用户位置和纬度/经度。该应用程序的代码如下所示:
这仅在 AppDelegate.m 中,它基本上完成了所有工作。
#import "AppDelegate.h"
#import "ViewController.h"
@implementation AppDelegate
@synthesize window;
@synthesize viewController;
@synthesize locationManager;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
return YES;
- (void)applicationWillResignActive:(UIApplication *)application
- (void)applicationDidEnterBackground:(UIApplication *)application
- (void)applicationWillEnterForeground:(UIApplication *)application
- (void)applicationDidBecomeActive:(UIApplication *)application
self.locationManager = [[CLLocationManager alloc]init];
if ([CLLocationManager locationServicesEnabled])
self.locationManager.delegate = self;
self.locationManager.distanceFilter = 100;
[self.locationManager startUpdatingLocation];
- (void)applicationWillTerminate:(UIApplication *)application
#pragma mark CLLocationManagerDelegate Methods
-(void) locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
MKCoordinateSpan span;
span.latitudeDelta = 0.2;
span.longitudeDelta = 0.2;
MKCoordinateRegion region;
region.span = span;
region.center = newLocation.coordinate;
[viewController.mapView setRegion:region animated:YES];
viewController.mapView.showsUserLocation = YES;
viewController.latitude.text = [NSString stringWithFormat:@"%f", newLocation.coordinate.latitude];
viewController.latitude.text = [NSString stringWithFormat:@"%f", newLocation.coordinate.longitude];
@end
【问题讨论】:
我不明白你的确切问题是什么。顺便说一句,在 didUpdateToLocation 中,您仅将 viewController.latitude.text 设置为纬度,然后设置为经度。 哦,是的,感谢您在此处进行的小调整,因为我只是在将其全部输入后复制并粘贴了它(没有进行更改以进行调试,因为运行时没有任何反应)。我的问题基本上是获得有关如何让我的应用程序在 MapKit 等地图上绘制点的帮助。我从哪里开始,需要什么?谢谢 【参考方案1】:您是注册的 ios 开发者吗? Apple 的代码示例包括一些地图应用程序,它们应该可以帮助您入门。
由于您在网上搜索教程时运气不佳,这里有一些可能会有所帮助的术语
MKAnnotation :你用来在地图上标记位置的东西(大头针、旗帜、一些文字) UIGestureRecognizer :使用其中之一来了解用户何时触摸了地图,寻找触摸并按住事件作为他们想要标记它的好兆头,因为触摸和拖动将用于移动地图 MKMapPoint :iOS 中使用的平面地球地图上的一个地方。请记住,这些与 CLLocationCoordinate2D 的经度和纬度不同,但您可以轻松地在它们之间进行转换。
【讨论】:
以上是关于地理标记/绘图 MapKit 核心定位的主要内容,如果未能解决你的问题,请参考以下文章