2014-12-30 44 views
5

Io uso URL:Completamento automatico di Google Places: come ottenere Latitudine e Longitudine?

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=bar&key=API_KEY&types=geocode 

Cosa devo fare per recuperare i dati con i luoghi posizione (latitudine e longitudine)?

+0

è necessario generare api_key a Googlemaps sviluppatore. quindi passa API_KEY nell'URL. devi registrarti e creare la chiave usando (https://developers.google.com/maps/signup) –

+0

lo so, l'ho passato. Funziona. Ricevo i posti da Google, ma non ci sono informazioni sulla posizione. –

risposta

17

Non è possibile solo con questo URL:

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=bar&key=API_KEY 

Tutto quello che dovevo fare era quello di ottenere place_id dalla risposta, e poi utilizzarlo in PROSSIMO seguente URL:

https://maps.googleapis.com/maps/api/place/details/json?input=bar&placeid=PLACE_ID&key=API_KEY 

Dove:

PLACE_ID - recuperato place_id dalla richiesta precedente.

API_KEY - la mia chiave generata da Google da utilizzare con la mia app.

autocomplete deve essere sostituito con details negli URL precedenti.

+0

Apprezzate la vostra risposta compagna :) – Xeieshan

+0

Il risultato [0] che ricevo è lat: function() & lng function(), non ottengo i valori. – jasan

+0

capito, le funzioni restituiscono i valori :) – jasan

0
https://maps.googleapis.com/maps/api/place/autocomplete/json?input=bar&key=API_KEY 

quindi ottenere place_id e call seguente funzione per ottenere i dati

let placesClient = GMSPlacesClient.shared() 
    func GetPlaceDataByPlaceID(pPlaceID: String) 
    { 
     // pPlaceID = "ChIJXbmAjccVrjsRlf31U1ZGpDM" 
     self.placesClient.lookUpPlaceID(pPlaceID, callback: { (place, error) -> Void in 

      if let error = error { 
       print("lookup place id query error: \(error.localizedDescription)") 
       return 
      } 

      if let place = place { 
       print("Place name \(place.name)") 
       print("Place address \(place.formattedAddress!)") 
       print("Place placeID \(place.placeID)") 
       print("Place attributions \(place.attributions)") 
       print("\(place.coordinate.latitude)") 
       print("\(place.coordinate.longitude)") 
      } else { 
       print("No place details for \(pPlaceID)") 
      } 
     }) 
    } 
Problemi correlati