Ben bir kiralama istasyonu bulucu uygulaması için bazı başlangıç noktaları geocode için PHP Google Maps API bağlıyorum.
Bu başlangıç noktaları tam adreslerini olmak zorunda değilsiniz; şehir adları yeterlidir. 4 (şehir / yerellik düzeyinde) daha bir accuracy
eşit veya rende ile coğrafi kodlama tepkiler başlangıç noktası olarak kullanılan ve çevredeki kiralama istasyonları aranır.
Uygulama Almanya'da çalışmak gerekiyordu. Bir yöreden isim belirsiz olduğunda (yani bu isimde birden fazla yer vardır) Ben olasılıklar listesini görüntülemek istiyorum.
Bu genel bir sorun değildir: Eğer belirsiz bir arama yaparsanız, Google XML çıkış yerine sadece biri <PlaceMark>
elemanlarının bir listesini döndürür.
Açıkçası, ben önyargı Almanya'ya doğru coğrafi kodlama gerekir, bu yüzden birileri gibi diğer ülkelerde de var olan bir mahallin bir posta kodu veya adı girerse, sadece gelip Aslında Almanya'da vurur.
Ben arama sorgusuyla , de
veya , Deutschland
ekleyerek bu elde düşündüm. Bu, çoğunlukla iyi çalışır, ancak bazı durumlarda tuhaf ve dayanılmaz sonuçlar üretir.
Adlı Almanya'da 27 yerleşim örneğin vardır Neustadt
. (Wikipedia)
I Neustadt
yalnız ararken:
http://maps.google.com/maps/geo/hl=de&output=xml&key=xyz&q=Neustadt
Ben (bu diğerleri dahil, ya da farklı bir yöreden, veya ne olursa olsun parçaları olmadığı olabilir) ile yaşayabileceği bunlardan en az altı, olsun.
Ne zaman, ancak, ben Neustadt, de
aramak, ya da Neustadt, Deutschland
, ya da Neustadt, Germany
, ben sadece one yirmi yedi yerlesim olsun nedensiz - bu büyük değil, ne de en accuracy
doğru, ne de herhangi bir diğer benzersiz özellikleri var.
Bu yüzden herkes biliyor mu, ve ben bu konuda ne yapabilirim?
Ben region
parametresini çalıştı ama boşuna - Ben Alman, ABD'li meslektaşları için değil çözülecek (50825
gibi , de
, posta kodları kullanmayın zaman olanlar.
Benim şu anki geçici fikrim girişi sadece sayısal olduğunda ülke adını ekleyin, aksi takdirde sadece Alman sonuçları filtrelemek için, ama bu çok kıytırık geliyor. Herkes daha iyi bir yol biliyor mu?