2009-09-29 14 views
12

ho trovato che l'API di Google Maps supporta le direzioni attraverso:MKMapView Itinerario/Indicazioni

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)"); 
} 

Così come può questo essere tradotto in Objective-C in modo che possa essere recuperata da iPhone? So come tracciare una linea su MKMapView Ho solo bisogno delle geolocalizzazioni per il percorso.

O forse c'è un modo diverso per ottenere il percorso tra due punti di geolocalizzazione.

Per favore fatemi sapere,

Grazie in anticipo.

risposta

9

C'è una non documentata di Google Maps Indicazioni API citate ed esposti here

Inoltre si dovrebbe dare un'occhiata al l'applicazione di esempio IPhone che disegna percorsi/indicazioni sul MKMapView utilizzando l'API di cui sopra here

Ma avvertimento informazioni sui problemi di licenza relativi alle API di Google Maps Directions non documentate.

Spero che questo aiuti.

+3

** - AVVISO - ** Si prega di trovare un progetto di esempio su github [https://github.com/kadirpekel/MapWithRoutes](https://github.com/kadirpekel/MapWithRoutes) – coffeemate

+0

i collegamenti sia in "qui" non funzionano quando ho cliccato prima di un minuto mentre scrivevo questo commento. Si prega di verificare se stanno lavorando o meno e aggiornarli .. perché io sono davvero di loro ... – Nayan

+0

utilizzando google maps APi funziona solo durante l'utilizzo di mappe di Google, questo non sembra più un metodo affidabile come iOS 5 non permetterà questo, ha bisogno di una migliore metodi.Per favore postare se qualcuno ne trova. –

8

Inizialmente avevo intenzione di dire (e sono sicuro che altri lo presenteranno) che i termini di utilizzo di Google Maps dicono che non è possibile utilizzare le indicazioni se si prevede di utilizzare MapKit. Ma poi ho ricontrollato http://code.google.com/apis/maps/terms/iPhone.html e non sono riuscito a trovare una restrizione esplicita. Se ho capito bene, in realtà dice che non è possibile utilizzare le indicazioni a condizione che sia legato a una funzionalità turn-by-turn in tempo reale basata su GPS. Dovresti usare il tuo giudizio se è OK o meno e se influisce sulla tua possibilità di accettazione su AppStore.

Per ottenere i dati effettivi in ​​Objective-C, il meglio è guardare la documentazione di ricerca di Ajax di Google [http://code.google.com/apis/ajaxsearch/documentation/], in particolare la sezione in Flash e altri ambienti non JavaScript. Spiega un'API RESTful in cui è possibile inviare richieste HTTP GET a Google e recuperare i dati JSON. È l'unico modo che ho trovato per ottenere dati programmatici da Google che non sono legati a Javascript.

Una volta individuato l'URL corretto da richiamare, è possibile eseguire il wrap dell'intera operazione in una chiamata ASIHTTPRequest e inviare il risultato a JSON parser. Una cosa da tenere a mente è che l'API RESTful restituisce solo pochi risultati (tra 4 e 8) alla volta e devi continuare a tornare indietro finché non hai tutti i dati. Sembra anche esserci un limite di 64 item al numero di risultati restituiti dall'API, quindi alcuni edge case complessi potrebbero essere interessati.

+0

Penso che sia strano che supportino quasi tutto tranne le direzioni. Oh beh, suppongo che sia meglio usare l'avanti per l'effettiva app di Google Maps. – Mark