2010-10-07 6 views
0

Некоторое время назад я смотрел на это некоторое время, однако я не могу понять, как получить текущее местоположение пользователей в URL-адресе Google Maps, чтобы открыть приложение Google Maps с заполненными адресами.Использование текущего местоположения из диспетчера местоположений в Google Maps openURL?

Я взял этот код из другого учебника и добавить его в мое приложение. Мне нужно получить «start» lat/lng из ниже в мой IBAction, чтобы открыть приложение Google Maps.

- (void)locationUpdate:(CLLocation *)location { 
    // Lat/Lng of user (Needs to be sent to IBAction for btnDirections) 
    CLLocationCoordinate2D start = { location.coordinate.latitude, location.coordinate.longitude }; 
} 

Ниже приведено мое сообщение для моей кнопки «Направляющие».

- (IBAction) onButtonClick:(id) sender { 
    if(sender == btnDirections) { 
     CLLocationCoordinate2D destination = { 52.48306771095311, -1.8935537338256836 };    
     NSString *googleMapsURLString = [NSString stringWithFormat:@"http://maps.google.com/?saddr=%1.6f,%1.6f&daddr=%1.6f,%1.6f", 
             newLocation.coordinate.latitude, newLocation.coordinate.longitude, destination.latitude, destination.longitude]; 
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:googleMapsURLString]];  
    } 
} 

Я сделал это ранее в другом приложении, однако эта точка зрения включена карта, показывающая местоположение пользователя, что позволило мне получить Lat/LNG легко.

Заранее спасибо.

ответ

0

В моем коде, у меня есть URL формата:

http://maps.google.com/maps?daddr=%f,%f&saddr=%f,%f 

(Так что это 'карты' добавил от вашего).

Кроме этого, вы можете настроить ваш запрос место для остановки после набора точности, сделал вам настроить достаточно точные для вашей цели?

О, последнее примечание, получение текущего местоположения может не работать в симуляторе.

+0

Расположение работает в моем тренажере. Мысль за обновлением местоположения - это то, что люди отправляются в/из пункта назначения, а затем открывают Карты Google с указаниями в последнем месте, не указанном несколько минут назад. –

0

Вам нужно сделать текущее местоположение пользователя доступны onButtonClick: метод. Вы создаете начальную структуру для каждого обновления местоположения, но никогда не делаете ее доступной вне этого метода.

1

Просто пройти "Current Location" + в качестве параметра приложения Google Maps:

http://maps.google.com/maps?saddr=Current+Location&daddr=Heathrow+Airport+London 
+0

Он не будет работать с языком устройства, отличным от английского, увы. –

+0

или на iPad, даже на английском языке –

Смежные вопросы