2011-01-10 21 views
8

Belirli bir posta kodu için konum almanın en iyi yolu ne olabilirdi. o ABD dışında ülkeler için İşe yarar/Kanada .thanksiOS Konumu Bul (Enlem, boylam) Posta kodu

+0

Gelecekte referans itirazlarına için bu konumda – Aditya

+0

adresini vererek yerini bulabilir burada bakın: - http://stackoverflow.com/questions/9606031/ios-mkmapview-place-annotation-by -using-adresi-yerine-lat-uzun – StuartM

cevap

6

kullanımı Google geolocating API (google.com/maps üzerinde deneyerek): Örneğin, bir İsviçre Posta kodu

Girdi: CH-9014

veya bir fransız tek: FR-34000

veya Almanca: de-12101

veya ABD: bize-90210

veya kanada: ca-J5Z 1A1

veya çin: cn-100000

example için:

verimleri

{ 
    "status": "OK", 
    "results": [ { 
    "types": [ "postal_code" ], 
    "formatted_address": "9014 St Gallen, Switzerland", 
    "address_components": [ { 
     "long_name": "9014", 
     "short_name": "9014", 
     "types": [ "postal_code" ] 
    }, { 
     "long_name": "St Gallen", 
     "short_name": "St Gallen", 
     "types": [ "locality", "political" ] 
    }, { 
     "long_name": "Sankt Gallen", 
     "short_name": "SG", 
     "types": [ "administrative_area_level_1", "political" ] 
    }, { 
     "long_name": "Switzerland", 
     "short_name": "CH", 
     "types": [ "country", "political" ] 
    } ], 
    "geometry": { 
     "location": { 
     "lat": 47.4082855, 
     "lng": 9.3323890 
     }, 
     "location_type": "APPROXIMATE", 
     "viewport": { 
     "southwest": { 
      "lat": 47.3991076, 
      "lng": 9.3180504 
     }, 
     "northeast": { 
      "lat": 47.4199564, 
      "lng": 9.3543340 
     } 
     }, 
     "bounds": { 
     "southwest": { 
      "lat": 47.3991076, 
      "lng": 9.3180504 
     }, 
     "northeast": { 
      "lat": 47.4199564, 
      "lng": 9.3543340 
     } 
     } 
    } 
    } ] 
} 

Böylece İsviçre Posta kodu 9014 appx karşılık gelir. Bu konuma:

"lat": 47.4082855, 
"lng": 9.3323890 

burada geolocating API benim cevap bakınız:
How to get GLatLng object from address string in advance in google maps?

+0

ücretsiz mi ???? –

+0

@Jagdish: Kodum? Evet. Ticari intranet amaçları için google-api: hayır. –

1

GeoNames verilen bir posta kodu yeri için arama dahil olmak üzere çeşitli zipcode coğrafi kodlama hizmetleri, bir dizi sunuyor. Çeşitli ülkeleri destekliyorlar.

Muhtemelen Placename Lookup for postalcode service

+0

GeoNames'te bu [site] sitesini (http://download.geonames.org/export/zip/) buldum. Posta kodunun lan/long değerlerine eşleştirilmesiyle farklı ülkeler için dosyalar sunar. Şimdi, bir toplu işlem oluşturabilir ve veri tabanımdaki tüm gerekli değerleri depolayabilirim, belirli bir posta kodu için en uzun/uzun değerler oluşturabilirim. Teşekkür ederim :) – kon

1

Google'ın API en çok ilgi olacağını bazı oldukça kötü kısıtlamalarla geliyor. @Claus Broch'un önerisi başına GeoNames gibi açık kaynakları kullanmak daha iyidir.

Bu yanıtı, MapQuest'in son zamanlarda OpenStreetMap verilerine bir API koyduğunu da not ederek ekliyorum. Bunu yapmaz (söyleyebildiğim kadarıyla) zip koduyla arama yapar, ancak yer isimleri, yönleri, irtifa vb. Serbestçe ödenebilir. Kısa bir süre önce, google maps API'ye yaptığım çağrıları, mümkün olan en kısa sürede değiştirmeyi planladığımı keşfettim.

http://developer.mapquest.com/web/products/open

+0

'Oldukça kötü kısıtlamalar' ile ne kastettiğinizi açıklayabilir misiniz? –

+0

Bir günde yapabileceğiniz çağrı sayısında bir sınır var, bir. Daha büyük olan anlaşma, yalnızca bir Google Haritasını gösterme ile bağlantılı olarak kendi api'lerini kullanmanıza izin verilir.Dolayısıyla, veri toplama aracı olarak sadece arka planda kullanılmasına izin verilmez. –

İlgili konular