如果我有位置的經度和緯度,我可以使用反向geocoding
獲取有關位置的基本信息(如地址),但我想了解更多信息。我使用Places API作爲搜索欄,並且返回大量數據,但我無法從經度和緯度中獲得位置。從位置獲取位置
我發現places API
支持place details
,但爲此我需要一個參考,我無法從任何地方得到。
注意:我正在使用dart寫這篇文章,但dart api只是javascript的一個封裝,這就是爲什麼我將它標記爲兩者的原因。
如果我有位置的經度和緯度,我可以使用反向geocoding
獲取有關位置的基本信息(如地址),但我想了解更多信息。我使用Places API作爲搜索欄,並且返回大量數據,但我無法從經度和緯度中獲得位置。從位置獲取位置
我發現places API
支持place details
,但爲此我需要一個參考,我無法從任何地方得到。
注意:我正在使用dart寫這篇文章,但dart api只是javascript的一個封裝,這就是爲什麼我將它標記爲兩者的原因。
PlaceResult對象包含reference
屬性,應在PlaceDetailsRequest
中使用該屬性,該屬性提供給PlacesService.getDetails
。
我沒有PlaceResult開始,我只有LatLng對象。 –
您首先需要使用'PlaceService'執行'nearbySearch'或'radarSearch'。 –
我可以指望一個地方的靜態參考嗎? –
我結束了與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");
}
});
}
你能從一個地址得到一個地方嗎?如果是這樣,那麼首先從經緯度得到地址... – dandavis
我已經想過,但它似乎效率低下。一定有更好的方法。 –
hmm。我可以看到你的屏幕名稱是apropos ... – dandavis