2012-03-12 200 views
4

我試圖讓我的應用能夠通過短信將其當前GPS位置發送至預先輸入的電話號碼。通過短信發送當前位置

我現在有我的代碼,只能在應用程序中調出一個短信窗口,在該窗口中我可以在接收號碼和主體中編輯。我想知道的是我如何獲得這個機構的當前位置,以便通過短信發送?無法弄清楚。

這就是我的代碼現在看起來關於SMS功能的方式。

-(IBAction) sendInAppSMS:(id) sender 
{ 
    MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init] autorelease]; 
    if([MFMessageComposeViewController canSendText]) 
    { 
     controller.body = @"Alarm!, call the senders number!"; 
     controller.recipients = [NSArray arrayWithObjects:@"phonenumber1", @"phonenumber2", nil]; 
     [self presentModalViewController:controller animated:YES]; 
    } 
} 
+0

使用核心定位框架來獲取當前location.this可以附加到您的短信身體 – 2012-03-12 06:16:17

+1

@Marcus - 是你能解決這個問題嗎? – Akshay 2012-08-24 08:30:07

回答

1

首先在您的項目中添加核心位置框架。並調用此方法來查找當前位置。

-(IBAction) sendInAppSMS:(id) sender 
    { 
     MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init] autorelease]; 
     if([MFMessageComposeViewController canSendText]) 
     { 
      CLLocation *location=[self findCurrentLocation]; 
      CLLocationCoordinate2D coordinae=[location coordinate]; 
      controller.body =[[NSString alloc] initWithFormat:@" Alarm!, call the senders number with latitude:%f longitude:%f",coordinae.latitude,coordinae.longitude]; ; 
      controller.recipients = [NSArray arrayWithObjects:@"phonenumber1", @"phonenumber2", nil]; 
      [self presentModalViewController:controller animated:YES]; 
     } 
    } 

-(CLLocation*)findCurrentLocation 
      { 

      CLLocationManager *locationManager = [[CLLocationManager alloc] init]; 
      if ([locationManager locationServicesEnabled]) 
      { 
       locationManager.delegate = self; 
       locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
       locationManager.distanceFilter = kCLDistanceFilterNone; 
       [locationManager startUpdatingLocation]; 
      } 

      CLLocation *location = [locationManager location]; 
      CLLocationCoordinate2D coordinate = [location coordinate]; 
     return location; 

    } 
+0

我已經添加了核心位置框架,並且還嘗試添加上面的代碼,它給了我三個問題。 1 - 'locationServicesEnabled'已棄用。 2 - 從不兼容的類型'ERSSecondViewController *'分配給'id '。 3 - 未使用的變量「座標」。必須缺少的東西..:P但是,我需要什麼代碼放在IBAction sendInAppSMS然後獲取短信息中的座標?並再次感謝您的幫助! – Marcus 2012-03-13 20:14:14

+0

我已經修復了前兩個問題/錯誤。但最後一個仍然告訴我「未使用的變量」座標,但是我到了那裏:P – Marcus 2012-03-13 20:49:22

+0

只是評論這一行CLLocationCoordinate2D座標= [位置座標];使用此位置發送座標 – 2012-03-14 04:39:19