Начать навигацию автоматически с помощью Google Maps и схем URL-адресов Apple Maps

Есть ли способ начать навигацию автоматически при запуске Google Maps или Apple Maps с помощью схемы URL-адресов на iOS?

Я вижу несколько необязательных параметров для обоих, но не для начала навигации без ввода пользователем.

Вот как я сделал это для вашей справки, но для яблока я не нашел способ начать навигацию по схеме URL.

+ (void)navigateToLocation:(CLLocation*)_navLocation { if ([[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString:@"comgooglemaps://"]]) { NSString *string = [NSString stringWithFormat:@"comgooglemaps://?daddr=%f,%f&directionsmode=driving",_navLocation.coordinate.latitude,_navLocation.coordinate.longitude]; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:string]]; } else { NSString *string = [NSString stringWithFormat:@"http://maps.apple.com/?ll=%f,%f",_navLocation.coordinate.latitude,_navLocation.coordinate.longitude]; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:string]]; } } 

Вы правы, Google и Apple требуют от пользователя ввода – но только для того, чтобы нажать кнопку «Пуск».

Если вы хотите указать начальное и конечное местоположение, используйте следующий формат:

Apple Maps:

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

Карты Гугл:

 comgooglemaps-x-callback://?saddr=&daddr=<Your Location> 

Swift 3 класса для запуска карт Apple Maps или Google Maps

  struct LinksHelper { static func startNavigation(coordinate: CLLocationCoordinate2D) { struct Links { static let kGoogleMapsSchema = "comgooglemaps://" static let kGoogleMaps = "\(kGoogleMapsSchema)?daddr=%f,%f&directionsmode=driving" static let kAppleMaps = "https://maps.apple.com/?saddr=Current Location&daddr=%f,%f&z=10&t=s" } var path: String! if let googleMapsSchemaUrl = URL(string:Links.kGoogleMapsSchema), UIApplication.shared.canOpenURL(googleMapsSchemaUrl) { path = Links.kGoogleMaps } else { path = Links.kAppleMaps } guard let str = String(format: path, coordinate.latitude, coordinate.longitude).addingPercentEncoding( withAllowedCharacters: .urlQueryAllowed) else { return } guard let url = URL(string: str) else { return } UIApplication.shared.openURL(url) } } 
  • Схема URL в уже открытом приложении
  • Открытая активность без отображения UIActivityViewController
  • iOS - запуск YandexMaps с указанием URLScheme
  • Загрузить изображение из URL в цикле для просмотра коллекции
  • Как взять параметр из схемы URL.
  • Удалить расширение URL-адреса в iPhone
  • URL Кодирование строки
  • Универсальные ссылки на iOS и глубокие ссылки (схемы URL)
  • Есть ли настраиваемая схема URL для встроенного приложения «Контакты»?
  • iOS - Открыть определенный контроллер просмотра с помощью схемы URL
  • URL-схема для приложения, которое не установлено
  • Interesting Posts

    Динамическое изменение высоты таблицы TableView

    iOS «Добавить на главный экран» – загрузка файла

    Использование краткой формы URI NSManagedObjectID?

    Загрузка базы данных Firebase работает в Simulator, но не на iPhone

    UITableView – повторное использование ячеек в режиме редактирования

    Исходные данные изображения с камеры типа «645 PRO»

    APPNAME не имеет архитектуры, которую может выполнять iphone6 ​​+

    Сериализация многомерного массива, содержащего ссылки на NSManagedObjects в основных данных

    iOS7 / 8 полупрозрачная навигацияBar верхний правый угол черного

    Как получить модель устройства в объективе c?

    Запретить IOS отключать приложение, когда приложение переключается на facebook для входа и разрешения

    Обновляется ли приложение React Native в симуляторе iOS, эквивалентное закрытию приложения и его повторному открытию?

    почему моя почтовая рассылка не работает с MFMailComposeViewController?

    получить координаты анимированного UIImageview

    Должен ли проект быть создан как комплект спрайтов или может быть добавлена ​​структура?

    Давайте будем гением компьютера.