2012-08-16 59 views
1

我已經創建了一個應用程序,簡單地示出了使用一個MapKit谷歌地圖上的用戶的當前位置。地理標記/繪圖MapKit Corelocation

但是我現在想去遠一點,並通過允許用戶在地圖上自己積點添加更多的功能到應用程序。

不知何故,我相信使用CoreLocation將通過接收和保存,用戶可以選擇在地圖上的座標做到這一點。

我說得對嗎?以及我將如何實施這個想法?鏈接或教程也會有所幫助,並且任何關於此事的個人經驗/想法都會很棒。

我創建了這個應用程序之前執行coreLocation一個應用程序,編譯/跑完美..只是didnt更新用戶位置和經/緯度。代碼如下所示爲該應用:

這僅是在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 
+0

我不明白你確切的問題是什麼。順便說一下,在didUpdateToLocation中,您只將viewController.latitude.text設置爲緯度,然後設置爲經度。 – Anna 2012-08-16 17:57:43

+0

哦,是啊,謝謝你的小調整,因爲我只是複製並粘貼了一次,我輸入了一切(沒有改變調試,因爲運行時沒有任何反應)。我的問題基本上是獲得如何讓我的應用程序在MapKit等地圖上繪製點的幫助。我會在哪裏開始,需要什麼?謝謝 – Simagen 2012-08-16 18:16:40

回答

1

你是註冊的iOS開發者? Apple的代碼示例包括幾個地圖應用程序,它們應該讓你開始。

既然你的運氣不好,而在這裏尋找在線教程有一些條款,這可能有助於

MKAnnotation:你會使用什麼地圖(銷,標誌上標註的位置,一些文本) UIGestureRecognizer:使用其中一個,找出當用戶觸摸地圖,尋找觸摸和保持事件的一個好兆頭,他們希望以紀念它,因爲觸摸和拖拽會用於移動地圖 MKMapPoint:在iOS中使用的平面地圖上的地方。請記住,這些與CLLocationCoordinate2D的經度和緯度不同,但您可以輕鬆地在它們之間進行轉換。