2009-09-29 25 views
12

Okazało się, że Google Maps API obsługuje kierunkach przez:MKMapView trasy/Kierunki

var map; 
var directionsPanel; 
var directions; 

function initialize() { 
    map = new GMap2(document.getElementById("map_canvas")); 
    directionsPanel = document.getElementById("my_textual_div"); 
    map.setCenter(new GLatLng(49.496675,-102.65625), 3); 
    directions = new GDirections(map, directionsPanel); 
    directions.load("from: 500 Memorial Drive, Cambridge, MA to: 4 Yawkey Way, Boston, MA 02215 (Fenway Park)"); 
} 

Więc jak to może być w języku Objective-C, dzięki czemu może być pobrana przez iPhone? Wiem, jak narysować linię na MKMapView Potrzebuję tylko geolokalizacji dla trasy.

A może jest inny sposób na uzyskanie trasy między dwoma punktami geolokalizacyjnymi.

Proszę dać mi znać,

góry dzięki.

Odpowiedz

9

Jest nieudokumentowana Google Maps Kierunki API wymienione i narażony here

Ponadto należy przyjrzeć się aplikacji próbki iPhone, który przygotowuje trasy/kierunków na MKMapView używając API wspomniano powyżej here

Ale ostrzeżenia o kwestiach licencyjnych dotyczących nieudokumentowanego interfejsu API Google Maps Directions.

Mam nadzieję, że to pomoże.

+3

** - UWAGA - ** Proszę znaleźć przykładowy projekt na github [https://github.com/kadirpekel/MapWithRoutes](https://github.com/kadirpekel/MapWithRoutes) – coffeemate

+0

linki w "tutaj" nie działają, gdy kliknąłem przed chwilą podczas pisania tego komentarza. Sprawdź czy działają czy nie i zaktualizuj je ... ponieważ naprawdę jestem z nich ... – Nayan

+0

używając map Google APi działa tylko podczas korzystania z map Google, nie wydaje się to już metodą godną zaufania, ponieważ iOS 5 na to nie pozwala, potrzebuję lepszego methods.Please post, jeśli ktokolwiek znajdzie. –

8

Pierwotnie zamierzałem powiedzieć (i jestem pewien, że inni to dodadzą), że warunki korzystania z Map Google mówią, że nie można korzystać z instrukcji dojazdu, jeśli zamierzasz używać MapKit. Ale potem dwukrotnie sprawdziłem http://code.google.com/apis/maps/terms/iPhone.html i nie mogłem znaleźć wyraźnego ograniczenia. Jeśli rozumiem to poprawnie, oznacza to, że nie możesz używać wskazówek, o ile jest on powiązany z funkcją "zakręt po zakręcie" w czasie rzeczywistym. Powinieneś użyć własnego osądu, czy wszystko jest w porządku, czy nie, i czy ma to wpływ na twoje szanse na akceptację w AppStore.

O ile uzyskanie rzeczywistych danych w Objective-C swój najlepszy najlepiej jest spojrzenie na dokumentacji wyszukiwarce Google Ajax [http://code.google.com/apis/ajaxsearch/documentation/] zwłaszcza sekcja pod Flash i innych środowisk bez JavaScriptu. Wyjaśnia RESTful API, w którym można wysyłać żądania HTTP GET do Google i odzyskać dane JSON. To jedyny sposób, w jaki udało mi się uzyskać programowe dane z Google, które nie są powiązane z Javascriptem.

Po znalezieniu prawidłowego adresu URL do wywołania można zawinąć całość w rozmowie ASIHTTPRequest i podać wynik do JSON parser. Należy pamiętać, że RESTful API zwraca tylko kilka wyników (od 4 do 8) naraz i musisz wracać, dopóki nie otrzymasz wszystkich danych. Wydaje się również, że liczba zwrotów zwracanych przez interfejs API wynosi 64 punkty, co może wpłynąć na niektóre złożone przypadki brzegów.

+0

Myślę, że to dziwne, że obsługują prawie wszystko oprócz wskazówek. No cóż, zgaduję, że lepiej jest użyć forwardowania do rzeczywistej aplikacji map Google. – Mark