我想通過Android的GeoCoder類使用用戶輸入文本進行搜索。這裏是我的代碼:Android GeoCoder:通過郵政編碼搜索返回意外結果
Geocoder iGeocoder = new Geocoder(getContext(), Locale.GERMAN);
public Address getAdress(String aUserInput) {
List<Address> tAddressList = iGeocoder.getFromLocationName(aUserInput, 1000, 47.060940, 8.564278, 51.526396, 13.736392);
if(tAddressList != null &&
tAddressList.size() > 0) {
for(Address tAddress : tAddressList) {
// return the first adress found for germany.
Log.e(TAG, "returning Adress: " + tAddress);
if(tAddress.getCountryCode().equals("DE")) {
return tAddress;
}
}
return null;
} else {
return null;
}
}
邊框我傳遞給getFromLocationName
粗略地表示,德國政府拜仁。我知道這個邊界框並不能保證結果地址真的存在。我發現一些問題,特別是通過郵政編碼搜索時。
- 通過郵政編碼搜索時返回的一些結果地址沒有「管理區域」,因此我無法篩選我想要的狀態(=「拜仁」)。
- 奇怪的是,如果我搜索郵政編碼97070,97078或97076,GeoCoder只返回美國俄勒岡州的地址。然而這些郵政編碼也是在德國小鎮維爾茨堡的地方。例如。 97082將返回維爾茨堡地址,但97070(維爾茨堡中央)不會被發現,它只返回俄勒岡地址。
你需要證明你在哪裏上的拉鍊搜索代碼碼。 –
這就是代碼。這一切都在一行「getFromLocationName ..」中完成。你錯過了什麼嗎? – dan
啊 - 這是郵政編碼,其餘部分是靜態的(我的意思是你的硬編碼值)? –