Vous avez trouvé ce tutoriel intéressant ? Recommandez le en cliquant sur le bouton +1    

Géocoder une adresse postale : Zone d’influence sur les résultats

Tutoriel publié le et mis à jour le
Tutoriel en Français

Vous pouvez également ordonner au service de géocodage de préférer les résultats situés au sein d'une zone géographique donnée (exprimée sous la forme d'une boîte englobante). Vous pouvez le faire en définissant le paramètre bounds dans l'URL de la requête. Notez que seuls les résultats situés dans les limites de la zone d'influence sont retenus, si des résultats plus pertinents existent en dehors de ces limites, ils peuvent être inclus.

Le paramètre bounds définit les coordonnées latitude/longitude des coins Sud-Ouest et Nord-Est de cette boîte englobante en utilisant le caractère 'pipe' (|) pour séparer les coordonnées.

Géocodeur et zone d'influence réponse au format JSON

Par exemple, le géocodage de "Winnetka" renvoie généralement cette banlieue de Chicago :

Requête :

http://maps.googleapis.com/maps/api/geocode/json?address=Winnetka&sensor=true_OU_false

Important : dans la requête ci-dessus Le paramètre sensor a été laissé volontairement avec la variable true_OU_false afin de souligner que vous devez définir impérativement cette valeur de façon explicite sur true ou sur false.

Réponse :

/**
 * Requête envoyée aux serveurs de Google :
 *
 * http://maps.googleapis.com/maps/api/geocode/json?address=Winnetka&sensor=false
 *
 * Ci-dessous la réponse retournée au format json :
 *
 */
 
 {
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Winnetka",
               "short_name" : "Winnetka",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "New Trier",
               "short_name" : "New Trier",
               "types" : [ "administrative_area_level_3", "political" ]
            },
            {
               "long_name" : "Comté de Cook",
               "short_name" : "Comté de Cook",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "Illinois",
               "short_name" : "IL",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "États-Unis",
               "short_name" : "US",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Winnetka, IL, États-Unis",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 42.12822690,
                  "lng" : -87.710960
               },
               "southwest" : {
                  "lat" : 42.0886090,
                  "lng" : -87.77086290
               }
            },
            "location" : {
               "lat" : 42.10808340000001,
               "lng" : -87.7358950
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 42.1246370,
                  "lng" : -87.70388020
               },
               "southwest" : {
                  "lat" : 42.09152539999999,
                  "lng" : -87.76790980
               }
            }
         },
         "types" : [ "locality", "political" ]
      }
   ],
   "status" : "OK"
}

Cliquez sur le lien ci-desssous pour voir le résultat dans votre navigateur :

http://maps.googleapis.com/maps/api/geocode/json?address=Winnetka&sensor=false

Toutefois, l'ajout de l'argument bounds définissant une zone de délimitation de la vallée de San Fernando à Los Angeles des résultats dans ce géocode retourner le quartier nommé "Winnetka" à cet endroit :

Requête

http://maps.googleapis.com/maps/api/geocode/json?address=Winnetka&bounds=34.172684,-118.604794|34.236144,-118.500938&sensor=true_OU_false

Important : dans la requête ci-dessus Le paramètre sensor a été laissé volontairement avec la variable true_OU_false afin de souligner que vous devez définir impérativement cette valeur de façon explicite sur true ou sur false. Assurez-vous également qu'aucun espace existe entre les latitude et longitude passées dans le paramètre bounds.

Réponse

/**
 * Requête envoyée aux serveurs de Google :
 *
 * http://maps.googleapis.com/maps/api/geocode/json?address=Winnetka&bounds=34.172684,-118.604794|34.236144,-118.500938&sensor=false
 *
 * Ci-dessous la réponse retournée au format json :
 *
 */
 
{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Winnetka",
               "short_name" : "Winnetka",
               "types" : [ "neighborhood", "political" ]
            },
            {
               "long_name" : "Los Angèle",
               "short_name" : "Los Angèle",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Vallée de San Fernando",
               "short_name" : "Vallée de San Fernando",
               "types" : [ "administrative_area_level_3", "political" ]
            },
            {
               "long_name" : "Comté de Los Angeles",
               "short_name" : "Comté de Los Angeles",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "Californie",
               "short_name" : "CA",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "États-Unis",
               "short_name" : "US",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Winnetka, Los Angeles, Californie, États-Unis",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 34.2353090,
                  "lng" : -118.55341910
               },
               "southwest" : {
                  "lat" : 34.1791050,
                  "lng" : -118.588320
               }
            },
            "location" : {
               "lat" : 34.20833330,
               "lng" : -118.57527780
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 34.22678660,
                  "lng" : -118.5432630
               },
               "southwest" : {
                  "lat" : 34.1898760,
                  "lng" : -118.60729260
               }
            }
         },
         "types" : [ "neighborhood", "political" ]
      }
   ],
   "status" : "OK"
}

Cliquez sur le lien ci-desssous pour voir le résultat dans votre navigateur :

http://maps.googleapis.com/maps/api/geocode/json?address=Winnetka&bounds=34.172684,-118.604794|34.236144,-118.500938&sensor=false

Géocodeur et zone d'influence réponse au format XML

Les exemples qui suivent sont identiques aux précédents. Seul le format de sortie change : XML.

Par exemple, le géocodage de "Winnetka" renvoie généralement cette banlieue de Chicago :

Requête :

http://maps.googleapis.com/maps/api/geocode/xml?address=Winnetka&sensor=true_OU_false

Important : dans la requête ci-dessus Le paramètre sensor a été laissé volontairement avec la variable true_OU_false afin de souligner que vous devez définir impérativement cette valeur de façon explicite sur true ou sur false.

Réponse :

/**
 * Requête envoyée aux serveurs de Google :
 *
 * http://maps.googleapis.com/maps/api/geocode/xml?address=Winnetka&sensor=false
 *
 * Ci-dessous la réponse retournée au format xml :
 *
 */
 
<?xml version="1.0" encoding="UTF-8"?>
<GeocodeResponse>
	<status>OK</status>
	<result>
		<type>locality</type>
		<type>political</type>
		<formatted_address>Winnetka, IL, États-Unis</formatted_address>
		<address_component>
			<long_name>Winnetka</long_name>
			<short_name>Winnetka</short_name>
			<type>locality</type>
			<type>political</type>
		</address_component>
		<address_component>
			<long_name>New Trier</long_name>
			<short_name>New Trier</short_name>
			<type>administrative_area_level_3</type>
			<type>political</type>
		</address_component>
		<address_component>
			<long_name>Comté de Cook</long_name>
			<short_name>Comté de Cook</short_name>
			<type>administrative_area_level_2</type>
			<type>political</type>
		</address_component>
		<address_component>
			<long_name>Illinois</long_name>
			<short_name>IL</short_name>
			<type>administrative_area_level_1</type>
			<type>political</type>
		</address_component>
		<address_component>
			<long_name>États-Unis</long_name>
			<short_name>US</short_name>
			<type>country</type>
			<type>political</type>
		</address_component>
		<geometry>
			<location>
				<lat>42.1080834</lat>
				<lng>-87.7358950</lng>
			</location>
			<location_type>APPROXIMATE</location_type>
			<viewport>
				<southwest>
					<lat>42.0915254</lat>
					<lng>-87.7679098</lng>
				</southwest>
				<northeast>
					<lat>42.1246370</lat>
					<lng>-87.7038802</lng>
				</northeast>
			</viewport>
			<bounds>
				<southwest>
					<lat>42.0886090</lat>
					<lng>-87.7708629</lng>
				</southwest>
				<northeast>
					<lat>42.1282269</lat>
					<lng>-87.7109600</lng>
				</northeast>
			</bounds>
		</geometry>
	</result>
</GeocodeResponse>

Cliquez sur le lien ci-desssous pour voir le résultat dans votre navigateur :

http://maps.googleapis.com/maps/api/geocode/xml?address=Winnetka&sensor=false

Toutefois, l'ajout de l'argument bounds définissant une zone de délimitation de la vallée de San Fernando à Los Angeles des résultats dans ce géocode retourner le quartier nommé "Winnetka" à cet endroit :

Requête

http://maps.googleapis.com/maps/api/geocode/xml?address=Winnetka&bounds=34.172684,-118.604794|34.236144,-118.500938&sensor=true_OU_false

Important : dans la requête ci-dessus Le paramètre sensor a été laissé volontairement avec la variable true_OU_false afin de souligner que vous devez définir impérativement cette valeur de façon explicite sur true ou sur false. Assurez-vous également qu'aucun espace existe entre les latitude et longitude passées dans le paramètre bounds.

Réponse

/**
 * Requête envoyée aux serveurs de Google :
 *
 * http://maps.googleapis.com/maps/api/geocode/xml?address=Winnetka&bounds=34.172684,-118.604794|34.236144,-118.500938&sensor=false
 *
 * Ci-dessous la réponse retournée au format xml :
 *
 */
 
<?xml version="1.0" encoding="UTF-8"?>
<GeocodeResponse>
	<status>OK</status>
	<result>
		<type>neighborhood</type>
		<type>political</type>
		<formatted_address>Winnetka, Los Angeles, Californie, États-Unis</formatted_address>
		<address_component>
			<long_name>Winnetka</long_name>
			<short_name>Winnetka</short_name>
			<type>neighborhood</type>
			<type>political</type>
		</address_component>
		<address_component>
			<long_name>Los Angèle</long_name>
			<short_name>Los Angèle</short_name>
			<type>locality</type>
			<type>political</type>
		</address_component>
		<address_component>
			<long_name>Vallée de San Fernando</long_name>
			<short_name>Vallée de San Fernando</short_name>
			<type>administrative_area_level_3</type>
			<type>political</type>
		</address_component>
		<address_component>
			<long_name>Comté de Los Angeles</long_name>
			<short_name>Comté de Los Angeles</short_name>
			<type>administrative_area_level_2</type>
			<type>political</type>
		</address_component>
		<address_component>
			<long_name>Californie</long_name>
			<short_name>CA</short_name>
			<type>administrative_area_level_1</type>
			<type>political</type>
		</address_component>
		<address_component>
			<long_name>États-Unis</long_name>
			<short_name>US</short_name>
			<type>country</type>
			<type>political</type>
		</address_component>
		<geometry>
			<location>
				<lat>34.2083333</lat>
				<lng>-118.5752778</lng>
			</location>
			<location_type>APPROXIMATE</location_type>
			<viewport>
				<southwest>
					<lat>34.1898760</lat>
					<lng>-118.6072926</lng>
				</southwest>
				<northeast>
					<lat>34.2267866</lat>
					<lng>-118.5432630</lng>
				</northeast>
			</viewport>
			<bounds>
				<southwest>
					<lat>34.1791050</lat>
					<lng>-118.5883200</lng>
				</southwest>
				<northeast>
					<lat>34.2353090</lat>
					<lng>-118.5534191</lng>
				</northeast>
			</bounds>
		</geometry>
	</result>
</GeocodeResponse>

Cliquez sur le lien ci-desssous pour voir le résultat dans votre navigateur :

http://maps.googleapis.com/maps/api/geocode/xml?address=Winnetka&bounds=34.172684,-118.604794|34.236144,-118.500938&sensor=false

Attention :

Afin de pouvoir utiliser les API de Google, JavaScript doit être activé sur votre navigateur.

Or, il semble que JavaScript est désactivé ou qu'il n'est pas supporté par votre navigateur.

Pour afficher Google Maps, activez JavaScript en modifiant les options de votre navigateur, puis rafraîchissez la page.