2012-12-05 25 views
12

Sto lavorando ad un calcolatore di quote che genererà una quotazione basata sul chilometraggio tra varie posizioni (tra le altre condizioni). Fino a due giorni fa, avevo programmato di utilizzare il servizio Distanza Matrix di Google fino a quando ho scoperto:Alternative al servizio Distance Matrix di Google?

Visualizzazione di una Google Map

L'utilizzo del servizio Distanza Matrix deve riguardare la visualizzazione delle informazioni sul una mappa di Google; ad esempio, per determinare le coppie di origine-destinazione che rientrano in un determinato periodo di guida l'una dall'altra, prima di richiedere e visualizzare tali destinazioni su una mappa. L'uso del servizio in un'applicazione che non visualizza una mappa di Google è proibito.

avevo sperato di utilizzare solo i servizi che mi servono:

- distanza su strada di misura tra un massimo di tre diversi luoghi

- Indirizzo Autocomplete Servizio utilizzabile su una casella di immissione

- Preciso, servizio affidabile in grado di fornire più percorsi diversi per creare una distanza media

So che ci sono altri metodi disponibili per questo, ma dubito che molti può essere il più accurato e affidabile come Google, Ho trovato difficile trovare qualcosa di paragonabile a Google Maps per gli scopi richiesti.

Quindi, a meno che voi ragazzi non potete indicarmi qualcosa che posso usare, la mia unica opzione è usare una mappa di Google dove non ne ho bisogno, aggiungendo tempo di caricamento aggiuntivo e alterando il design UX che avevo programmato.

Sono disponibili servizi gratuiti per ciò di cui ho bisogno (preferibilmente con un'API JS)?

Su una nota leggermente diversa

Se faccio usare una mappa di Google, sarebbe dovuto essere visualizzati immediatamente, oppure potrei nasconderlo e aggiungere la possibilità di 'Show On Map', e lo hanno .slideToggle rivelato?

risposta

11

Purtroppo per l'API distanza Matrix, Google rigorosamente dice che è necessario per visualizzare la mappa nell'applicazione:

Utilizzo delle API Distanza matrice deve riguardare la visualizzazione delle informazioni su una mappa di Google; ad esempio, per determinare le coppie di origine-destinazione che rientrano in un determinato periodo di guida l'una dall'altra, prima di richiedere e visualizzare tali destinazioni su una mappa. L'uso del servizio in un'applicazione che non visualizza una mappa di Google è proibito. http://developers.google.com/maps/documentation/distancematrix/#Limits

Tuttavia, quello che penso sia più utile per il vostro bisogno è Google Directions API. L'API delle indicazioni stradali ti consente di soddisfare le tue esigenze.

La distanza totale viene restituita dall'oggetto JSON dalla richiesta.

È possibile selezionare fino a un numero di posizioni diverse per trovare le distanze tra l'utilizzo di Waypoints nella richiesta di ricerca. Le distanze tra queste posizioni vengono quindi restituite in ogni "leg".

È possibile ottenere la distanza media da più percorsi alla destinazione specificando il parametro alternatives nella richiesta di ricerca su true. Vedi: http://developers.google.com/maps/documentation/directions/#RequestParameters

Migliore di tutti, non v'è alcun obbligo da parte di Google per visualizzare la Google Map nell'applicazione quando si utilizza questo servizio.

Vorrei anche menzionare gli svantaggi di questo servizio, se si sceglie di usarlo.

  1. Il tempo richiesto per elaborare la richiesta sarà leggermente più lungo rispetto a quando si utilizzasse l'API Distance Matrix.
  2. Nell'oggetto di ritorno si avranno molti dati non necessari, ad esempio i singoli "passaggi" della rotta nell'oggetto json restituito non sono necessari in base ai requisiti dell'applicazione.

Considerati gli svantaggi, consiglio vivamente di consultare l'API Directions per la vostra applicazione.

+0

Grazie, bella risposta. Sarei ancora autorizzato a utilizzare il servizio di completamento automatico dell'indirizzo su una casella di input senza visualizzare una mappa di google? – Dom

+1

Ah, capisco cosa intendi, non sono sicuro che tu possa farlo con l'API Directions, ma puoi utilizzare la libreria Places per questa funzionalità: https://developers.google.com/maps/documentation/javascript/places #places_autocomplete. Crea un rapido jsFiddle per provare la funzione di completamento automatico qui: http://jsfiddle.net/svigna/Ev2Ft/. È questo che intendevi per indirizzo di autocompletamento in una casella di input? –

+0

Wow, non avevo idea che fosse così semplice, ho spogliato l'esempio Distance Matrix di googles per ottenere la funzionalità di autocompletamento, il tuo esempio è molto più semplice.Sì, questo è ciò che intendevo, grazie, i dati possono essere utilizzati anche nell'API Google Directions? – Dom

Problemi correlati