Exemples de codes utilisant nos API

Codes sources pour l’API de géocodage

Les premiers tests

Pour tester nos API, le premier réflexe a avoir est certainement de saisir des requêtes directement dans la barre d’URL de votre navigateur. Vous visualiserez ainsi les résultats sous forme de données brutes, ce qui peut être utile avant de passer au prototypage d’une application.

En ligne de commande sous Linux

Voici un script shell qui utilise le programme wget pour interroger l’API de géocodage avec le protocole HTTP. Cela fonctionne en ligne de commande sous Linux, mais également avec un système Unix ou Mac.

1
2
#!/bin/bash
wget "http://maps.open-street.fr/api/geocoding/?address=1%2C+rue+de+la+paix%2C+75002%2C+Paris%2C+France&sensor=false&key=cle-fournie"

Voici un script équivalent mais qui utilise curl pour interroger l’API

1
2
#!/bin/bash
curl "http://maps.open-street.fr/api/geocoding/?address=1%2C+rue+de+la+paix%2C+75002%2C+Paris%2C+France&sensor=false&key=cle-fournie"

Avec le langage PHP

Voici un script PHP plus complet, qui interroge l’API de géocodage, puis décode le format json en array PHP pour accéder aux données. On peux exécuter ce script soit en ligne de commande, soit en navigant sur la page hébergée sur un serveur web qui supporte PHP.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
// Adresse à géocoder:
$stringAddress    = "1 rue de la paix 75002 Paris France";
// Encodage HTML de l'adresse:
$stringAddressUrlEncoded= urlencode($stringAddress);
// Définition du serveur:
$stringServer     = "http://maps.open-street.fr/";
// Définition du début de la requête:
$stringUrl    = "api/geocoding/";
// Clé OpenStreet ne permettant que des recherches 'rue de la paix à Paris':
$stringOpenStreetKey  = "cle-fournie-par-pcstreet";
// Constitution de la ligne d'interrogation:
$stringFullUrl    = $stringServer . $stringUrl . "?address=" . $stringAddressUrlEncoded . "&sensor=false&key=" . $stringOpenStreetKey;
// Récuperation du contenu JSON:
$stringContentJson = file_get_contents($stringFullUrl);
// Décodage du contenu JSON:
$arrayJson = json_decode($stringContentJson, true);
// Affichage de l'adresse normalisée:
echo $arrayJson['results'][0]['formatted_address'][0];
// Affichage de la latitude:
echo $arrayJson['results'][0]['geometry']['location']['lat'];
// Affichage de la longitude:
echo $arrayJson['results'][0]['geometry']['location']['lng'];