2011-01-10 3 views
8

finden Was könnte der beste Weg sein, Ort für eine bestimmte Postleitzahl zu bekommen. Wäre es für Länder außerhalb der USA arbeiten/Kanada .ThanksiOS Ort (Breitengrad, Längengrad) von Postleitzahl

+0

Sie Standort finden, indem Sie die Adresse dieser Stelle – Aditya

+0

Für die Zukunft Vorwand Bereitstellung siehe hier: - http://stackoverflow.com/questions/9606031/ios-mkmapview-place-annotation-by -use-Adresse-statt-von-lat-lang – StuartM

Antwort

6

Verwenden Sie die Google Geolokalisierungsdienste API (probieren Sie es aus auf google.com/maps):

Eingang für einen Schweizer Postleitzahl zum Beispiel: CH-9014

oder ein französisch ein: FR-34000

oder Deutsch: de-12101

oder US: us-90210

oder Kanada: ca-J5Z 1A1

oder Porzellan: cn-100000

für example:

Erträge

{ 
    "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 
     } 
     } 
    } 
    } ] 
} 

So ist die Schweizer Postleitzahl 9014 entspricht appx. an diesem Ort: hier

"lat": 47.4082855, 
"lng": 9.3323890 

meine Antwort auf die Geolokalisierungsdienste API Siehe:
How to get GLatLng object from address string in advance in google maps?

+0

Ist es kostenlos ???? –

+0

@ Jagdish: Mein Code? Ja. Die Google-API für kommerzielle Intranet-Zwecke: Nein. –

1

GeoNames bietet eine Reihe von verschiedenen zipcode Geocoding Services, für den Standort eines bestimmten zipcode einschließlich der Suche. Sie unterstützen eine Reihe von verschiedenen Ländern.

würden Sie wahrscheinlich am meisten interessieren den Placename Lookup for postalcode service

+0

Ich habe gerade diese [Website] (http://download.geonames.org/export/zip/) auf GeoNames gefunden. Es bietet Dateien für verschiedene Länder mit der Zuordnung der Postleitzahl zu den LAN/Long-Werten. Jetzt kann ich einen Stapelprozess erstellen und alle erforderlichen Werte in meiner Datenbank speichern, in der Lage, lat/long Werte für eine gegebene Postleitzahl zu loopen. Danke dir :) – kon

1

API von Google kommt mit einigen ziemlich unangenehmen Einschränkungen. Es ist besser, offene Quellen wie GeoNames per @Claus Broch zu verwenden.

Ich füge diese Antwort hinzu, um auch zu bemerken, dass MapQuest kürzlich eine API zu OpenStreetMap-Daten aufstellte. Es funktioniert nicht (soweit ich das beurteilen kann) Postleitzahlsuche, aber Ortsnamen, Richtungen, Höhe usw. sind alle frei abfragbar. Ich habe es vor kurzem entdeckt und ich plane, meine Anrufe zu Google Maps API so bald wie möglich zu ersetzen.

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

+0

Kannst du klarstellen, was du mit 'ziemlich hässlichen Einschränkungen' meinst? –

+0

Die Anzahl der Anrufe, die Sie an einem Tag tätigen können, ist begrenzt. Der größere Deal ist, dass Sie ihre API nur in Verbindung mit der Anzeige einer Google Map verwenden dürfen.Es ist also nicht erlaubt, es im Hintergrund als Datensammelwerkzeug zu verwenden. –

Verwandte Themen