PostalCodeMap

GeoNames offre une API d'interrogation sur les noms et identifiants géographiques d'unités administratives de part le monde (villes, pays, code postaux, ...). Notamment, c'est le service d'interrogation des codes postaux qui nous intéresse ici :

url du service: http://ws.geonames.org/postalCodeLookupJSON

avec un paramètre : postalcode (exemple : postalcode=1400)

le service peut fonctionner en mode JSONP

Ainsi, la requête ci-dessous retourne un flux JSON de toutes les villes du monde ayant un code postal 1400 (dont Yverdon-les-Bains) :
http://ws.geonames.org/postalCodeLookupJSON?postalcode=1400

Il s'agit donc de créer une application web de recherche de villes selon code postal. Le résultat doit alimenter une liste à sélection et chaque sélection dans la liste doit centrer la carte sur la ville sélectionnée (cf. screenshot et démo).

Remarques :

une analyse rapide du résultat JSON montre la disponibilité des coordonnées géographiques longitude et latitude de chaque ville

(pour la ième ville, postalCodes[i].lng et postalCodes[i].lat)

la recherche se lance qu'au bout d'au moins 4 caractères saisis.

pour la partie cartographique, s'inspirer de l'exemple geoserver.html précédent

le fichier postalCode.jsonp en cas de panne de GeoNames ...