2014-12-30 11 views
5

używam URL:Autouzupełnianie Miejsc Google - jak uzyskać szerokość i długość geograficzną?

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

Co należy zrobić, aby odzyskać dane z miejscami lokalizacji (szerokość i długość)?

+0

trzeba generować API_KEY na GoogleMaps dewelopera. następnie wpisz klucz API_KEY w swoim adresie URL. musisz się zarejestrować i utworzyć klucz za pomocą (https://developers.google.com/maps/signup) –

+0

Wiem, przekazałem go. To działa. Otrzymuję miejsca od Google, ale nie ma informacji o lokalizacji. –

Odpowiedz

17

Nie jest możliwe tylko z tego adresu URL:

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

Wszystko, co potrzebne do zrobienia było dostać place_id od odpowiedzi, a następnie używać go w następującym adresem URL:

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

Gdzie:

PLACE_ID - odzyskano place_id z poprzedniego zamówienia.

API_KEY - mój klucz wygenerowany przez Google do użytku z moją aplikacją.

autocomplete należy zastąpić numerem details w powyższych adresach URL.

+0

Doceń swojego kolegę z odpowiedzi :) – Xeieshan

+0

Wynik [0] otrzymuję z powrotem to lat: function() & lng function(), nie otrzymuję wartości. – jasan

+0

zorientował się, funkcje zwracają wartości :) – jasan

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

Następnie dostać place_id i wywołanie następujących funkcji, aby uzyskać dane

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)") 
      } 
     }) 
    } 
Powiązane problemy