Apple отображает URL-адрес запроса маршрута из текущего местоположения

Сейчас я думаю о приложении для iOS, которое могло бы отправлять SMS другим людям (без подключения к Интернету) с URL-ссылкой, чтобы указать им офлайн-направление к моему местоположению в родном приложении карт, когда они нажимают на ссылку. Я знаю, что это можно сделать с помощью такого URL-адреса:

http://maps.apple.com/maps?saddr=<their location>&daddr=<my location, filled by my app>

Конечно, я мог бы оставить saddr пустым и позволить им выбрать свое текущее местоположение из списка автозаполнения в качестве начальной точки, но им потребуется еще 1 шаг, чтобы получить направление. Я просто хочу убедиться, что дать им наиболее удобный способ.

Как настроить собственное приложение карт для автоматического получения текущего местоположения пользователя получателя SMS по этому URL-адресу? Мне нужно что-то вроде этого:

http://maps.apple.com/maps?saddr=current_location&daddr=<my location, filled by my app>

Я также хочу отправить эту ссылку другому пользователю платформы, например, пользователю Android, которого я мог бы использовать:

http://maps.google.com/maps?saddr=current_location&daddr=<my location, filled by my app>

Windows Phone (пока не знаю):

http://maps.???.com/maps?saddr=current_location&daddr=<my location, filled by my app>

Любое ключевое слово или ответ будет очень признателен!


person FlySoFast    schedule 05.09.2014    source источник


Ответы (2)


Вы были очень близки!

Карты Apple:

http://maps.apple.com/maps?saddr=Current%20Location&daddr=<Your Location>

Карты Гугл:

comgooglemaps-x-callback://?saddr=&daddr=<Your Location>
person Spaceship09    schedule 21.01.2015
comment
Это работает. Для карт google вы не можете добавить параметр saddr, и он будет работать, способ Apple немного глуп, текущее местоположение должно быть по умолчанию, но вам нужно написать текущее% 20location. Спасибо. - person rr1g0; 08.02.2015
comment
Я согласен. Apple немного отстает от времени. Нет проблем - рад быть полезным. - person Spaceship09; 09.02.2015
comment
Большое спасибо за этот ответ. Я не знал о значении параметра Current%20Location. Я пытался сначала получить местоположение из приложения Cordova/Ionic с плагином геолокации, прежде чем вызывать карты для навигации. Это НАМНОГО приятнее. Спасибо! - person Josh Buchea; 29.04.2015
comment
Google: документация Apple: протестировано. - person Spaceship09; 05.06.2015

Если вы используете target-c:

    NSString *urlString = [NSString stringWithFormat:@"maps.apple.com/maps?saddr=&daddr=%@,%@",destinationLatitude,destinationLongitude];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];

Если вы используете Swift 2.2:

    var string = "http://maps.apple.com/?saddr=&daddr=\(destinationLatitude),\(destinationLongitude)"
    UIApplication.sharedApplication().openURL(NSURL(string: string)!)

Если вы используете Swift 3.0:

    var string = "http://maps.apple.com/?saddr=&daddr=\(destinationLatitude),\(destinationLongitude)"
    UIApplication.shared.openURL(URL(string: string)!)
person Ruchin Somal    schedule 29.12.2016