Bir dize geçerli bir coğrafi konumu olup olmadığını belirlemek

2 Cevap php

Ben "yerlerde" bir grup var - bazı doğru (Gaborone, Botsvana), bazı geocodes (40.75, -73,997) ve bazı (# siliconcape) tamamen yararsız. Ben listesinde çalıştırmak ve her dize ve GEOCODE ve Şehir ve Ülke belirlemek için bir yol bulmak ve geçersiz yerleri için boş değerlere dönmek gerekiyor.

Belirli bir dize geçerli bir coğrafi konumu temsil olup olmadığını belirlemek için kullanılabilen kütüphane / hizmet / API / yöntemin çeşit var mı? Vb hataları, sipariş, yazım hataları için muhasebe yaparken?

2 Cevap

Muhtemelen kolay yöntem Google Geocoding API gibi bir şey kullanmak olacaktır. Bu bir dize almak ve bir yerde bunu ayrıştırmak deneriz. XML, JSON, CSV olarak çıktı alabilirsiniz.

İşte bazı örnek CSV çıktı bulunuyor:

input : gaborone, botswana
output: 200,4,-24.6541100,25.9087390

input : #siliconcape
output: 602,0,0,0

input : 40.75,-73.997
output: 200,8,"324 W 30th St, New York, NY 10001, USA"

Ben bir çözüm buldum - ihtimale karşı burada paylaşan herkesten ihtiyacı:

Google Maps API coğrafi kodlama kullanın - bu adresler beslemek ve arka koordinatlarını olsun. PHP ile bunu yapmak için Detaylar: http://www.phpriot.com/articles/google-maps-geocoding/