public GoogleMap(String localisation) throws NoResultsException {
		begin = System.currentTimeMillis();
		try {
			// Mise en place des parametres pour la recherche Google Map
			String q = "q="+localisation.replaceAll(" ", "+");
			String key_param = ServiceConfiguration.getInstance().getProperty("gmap_key");
			String key = "key="+key_param;
			String sensor_param = ServiceConfiguration.getInstance().getProperty("gmap_sensor");
			String sensor = "sensor="+sensor_param;
			String output_param = "xml";
			String output = "output="+output_param;
			// Autres params facultatifs
			//		ll	Latitude, longitude. Ex : "ll=40,4789,-1,1248"	N
			//		spn	Trou? : Latitude, longitude. Ex : "ll=40,4789,-1,1248"	N
			//		gl	Country Code ccTLD (2 caracteres)	N
			String arguments = q+"&"+key+"&"+sensor+"&"+output;
			URL url = new URL(base_url+arguments);
			logger.info("Url de d'appel : "+base_url+arguments);
			// Creation du parser
			SAXBuilder sxb = new SAXBuilder();
			Namespace nameSpace_ge = Namespace.getNamespace("http://earth.google.com/kml/2.0");
			Namespace nameSpace_ad = Namespace.getNamespace("urn:oasis:names:tc:ciq:xsdschema:xAL:2.0");
			
			// Parsing de l'url
			Document document = sxb.build(url);
			// Recuperation des elements
			Element mainElement = document.getRootElement().getChild("Response",nameSpace_ge);
			Element status = mainElement.getChild("Status",nameSpace_ge);
	
			status_code = status.getChildText("code",nameSpace_ge);
			status_request = status.getChildText("request",nameSpace_ge);

			Element placemark = mainElement.getChild("Placemark",nameSpace_ge);
			address = placemark.getChildText("address",nameSpace_ge);
			
			Element adresseDetails = placemark.getChild("AddressDetails",nameSpace_ad);
		
			accuracy = adresseDetails.getAttributeValue("Accuracy");

			Element country = adresseDetails.getChild("Country",nameSpace_ad);

			countryNameCode = country.getChildText("CountryNameCode",nameSpace_ad);
			countryName = country.getChildText("CountryName",nameSpace_ad);

			Element administrativeArea = country.getChild("AdministrativeArea",nameSpace_ad);

			administrativeAreaName = administrativeArea.getChildText("AdministrativeAreaName",nameSpace_ad);

			Element subAdministrativeArea = administrativeArea.getChild("SubAdministrativeArea",nameSpace_ad);
			if (subAdministrativeArea !=null){
				subAdministrativeAreaName = subAdministrativeArea.getChildText("SubAdministrativeAreaName",nameSpace_ad);
				Element locality = subAdministrativeArea.getChild("Locality",nameSpace_ad);
				if (locality == null){
					localityName = localisation;
				}
				else localityName = locality.getChildText("LocalityName",nameSpace_ad);
			}
			else {
				Element locality = administrativeArea.getChild("Locality",nameSpace_ad);
				if (locality == null){
					localityName = localisation;
				}
				else localityName = locality.getChildText("LocalityName",nameSpace_ad);
			}
			logger.info("LocalityName : "+localityName);
			Element latLonBox_element = placemark.getChild("ExtendedData",nameSpace_ge).getChild("LatLonBox",nameSpace_ge);
			latLonBox = new String [4];
			latLonBox[0]= latLonBox_element.getAttributeValue("north");
			latLonBox[1]= latLonBox_element.getAttributeValue("south");
			latLonBox[2]= latLonBox_element.getAttributeValue("east");
			latLonBox[3]= latLonBox_element.getAttributeValue("west");
			Element point = placemark.getChild("Point",nameSpace_ge);
			coordinates = point.getChildText("coordinates",nameSpace_ge);
			
		} catch (MalformedURLException e) {
			logger.error(e.getMessage());
		} catch (IOException e) {
			logger.error(e.getMessage());
		} catch (JDOMException e) {
			logger.error(e.getMessage());
		}catch (NullPointerException e){
			logger.error("Aucune donnee trouvee pour la localisation "+localisation);
			throw new NoResultsException(e.getMessage());
		}
		end = System.currentTimeMillis();
	}