2014-01-21 3 views
1

위치의 경도와 위도가있는 경우 주소 (예 : 주소)에 대한 기본 정보를 얻으려면 geocoding의 역방향을 사용할 수 있지만 자세한 정보가 필요합니다. 검색 바에 Places API를 사용하고 있으며 엄청난 양의 데이터를 반환하지만 위도와 경도에서 장소를 가져올 수 없습니다.위치에서 가져 오기 위치

나는 places APIplace details을 지원한다는 것을 알았지 만, 나는 어디서나 얻을 수없는 참조가 필요하다.

참고 : 저는이 글을 다트로 작성하고 있지만, 다트 API는 자바 스크립트를 감싸는 래퍼입니다.

+0

주소에서 장소를 얻을 수 있습니까? 그렇다면 위도/경도의 주소를 먼저 얻으십시오 ... – dandavis

+0

나는 그것에 대해 생각해 왔지만 비효율적 인 것처럼 보입니다. 더 좋은 방법이 있어야합니다. –

+0

흠. 나는 당신의 스크린 이름이 apropos ... – dandavis

답변

1

PlaceResult 개체는 PlaceDetailsRequest에 제공된 PlacesService.getDetails에 사용되는 reference 특성을 포함합니다.

+0

나는 PlaceResult를 가지고 있지 않다. 나는 LatLng 객체를 가지고있다. –

+0

먼저'NearbyService' 나'RadSerSearch'를'PlaceService'로 수행해야합니다. –

+0

장소에 대한 정적 인 참조를 믿을 수 있습니까? –

1

나는 PlaceService.textSearch 경로로 끝났다. 이것은 내가 예상했던 것보다 거의 더럽지 않았다. 기능은 내가 이런 모양으로 끝났다 :

void placeFromLocation(LatLng location, void callback(PlaceResult)) { 
    GeocoderRequest geocoderRequest = new GeocoderRequest() 
     ..location = location; 
    geocoder.geocode(geocoderRequest, (List<GeocoderResult> results, GeocoderStatus status) { 
     if(status == GeocoderStatus.OK) { 
      TextSearchRequest request = new TextSearchRequest() 
       ..query = results[0].formattedAddress 
       ..location = results[0].geometry.location 
       ..radius = 40; 
      placeService.textSearch(request, (List<PlaceResult> results, PlacesServiceStatus status) { 
       if(status == PlacesServiceStatus.OK) { 
        callback(results[0]); 
       }else{ 
        print("Not place found"); 
       } 
      }); 
     }else{ 
      print("Error geocoding address"); 
     } 
    }); 
}