Каков стандартный / лучший способ реализации маршрута на iPhone? - PullRequest
5 голосов
/ 19 октября 2010

Я читал о ряде постов для разработчиков, которые хотят наметить маршрут на карте на iPhone, но нет удовлетворительного ответа о том, как наилучшим образом добиться этого.Вы можете использовать библиотеку Route-Me, добавить слой поверх MKMapView или отправить координаты программному обеспечению для карты телефонов, после чего вы перейдете из своего приложения, что, на мой взгляд, плохо для пользователя.Ничто из этого не решает проблему хорошим способом.

Некоторые пишут, что существуют юридические препятствия, другие пишут, что речь идет о лицензировании денег.Это должно быть очень распространенным требованием и, следовательно, общей особенностью реализации.Так что же является де-факто стандартным способом сделать это?

Может ли кто-то с хорошим опытом поделиться своим мнением по этому вопросу?

BR // Christoffer

1 Ответ

3 голосов
/ 22 октября 2010

Так что я решил использовать техническую поддержку Apple Developer, чтобы действительно прояснить это.Это ответ:


Здравствуйте,

Спасибо за ваш запрос в службу технической поддержки Apple Worldwide Developer.Я отвечаю, чтобы сообщить вам, что я получил ваш запрос о технической помощи.

Де-факто стандартный способ сделать это - использовать приложение «Карта».Я понимаю, что это не то, что вы хотите.Вы хотите остаться в вашем приложении.API MKMapView не обеспечивает такой уровень поддержки, когда речь идет о пользовательских указаниях.Вам придется полагаться на отдельный веб-сервис для получения этих указаний, а затем нанести каждую точку широты / долготы на MKMapView.В основном вам нужно будет сделать HTTP-запрос к Google Directions API.Условия требуют, чтобы вы отображали результаты на карте Google;поскольку MKMapView показывает Google, с этим все должно быть в порядке.

http://code.google.com/apis/maps/documentation/directions/#DirectionsRequests

Если вам удастся получить указания по вождению с помощью, скажем, службы Yahoo или Google, MKMapView позволит вам составить визуальный курс, используяMKOverlayPathView и MKShapes для рисования многоугольников.У Apple есть пример под названием «KMLViewer», который находится по адресу http://developer.apple.com/library/ios/#samplecode/KMLViewer/Introduction/Intro.html. Он показывает, как строить точки на основе KML.Подход тот же, так как мы имеем дело с координатами широта / долгота.

Возможно, вы захотите использовать приложение Map, что было бы значительно проще.Все, что вам нужно, это:

// for lat/long directions
NSString *urlString1 = @"http://maps.google.com/maps?daddr=37.324885,-122.032378&saddr=37.332094,-122.03124";

// for address directions
NSString *urlString2 = @"http://maps.google.com/maps?f=d&source=s_d&saddr=1+Infinite+Loop,+Cupertino,+CA+95014&daddr=Mandarin+Gourmet,+Cupertino,+CA&hl=en&geocode=FcajOQIdYvO5-Ckbd16TtrWPgDFAc4Pi50E92A%3BFZ2GOQIdLe65-CHRv0sTH7YegykLqKn9rbWPgDGUnqKbIqi1Bg&mra=ls&sll=37.325567,-122.032989&sspn=0.007243,0.007285&ie=UTF8&ll=37.328195,-122.031466&spn=0.007243,0.007285&z=17";

[[UIApplication sharedApplication] openURL: [NSURL URLWithString: urlString1]];

ВТОРОЙ E-MAIL:

Просто чтобы быть ясным в моем последнем электронном письме об условиях использования служб Google.Google требует, чтобы вы отображали результаты маршрута на карте Google, которую использует MKMapView.Тем не менее, я бы дважды проверил собственные условия Apple в отношении использования внешних сервисов, таких как пользовательские инструкции на самом MKMapView.Я не хочу, чтобы вы шли по пути, только чтобы найти юридические ограничения на этом пути.


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...