J'utilise ce java libraraygoogle maps-services en résultat de la bibliothèque java diffère du résultat d'appel du navigateur
<dependency>
<groupId>com.google.maps</groupId>
<artifactId>google-maps-services</artifactId>
<version>0.1.15</version>
</dependency>
Et quand j'exécute le code ci-dessous
public static GeocodingResult getGeocode(String address) {
GeocodingResult[] results;
try {
GeoApiContext context = new GeoApiContext().setApiKey(GOOGLE_KEY);
results = GeocodingApi.geocode(context, address).await();
if (results.length > 0) {
return results[0];
} else {
return null;
}
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
}
public static void main(String[] args) {
GeocodingResult geocode = getGeocode("Imanova 19, Astana");
System.out.println(geocode.geometry.location.lat);
}
Résultat donne
INFO: Request: https://maps.googleapis.com/maps/api/geocode/json?key=MY_GOOGLE_KEY&address=Imanova+19%2C+Astana
51.16052269999999
Mais, lorsque j'essaie d'appeler la même requête donnée depuis le navigateur, cela donne un autre résultat.
La question est, pourquoi et comment résoudre?
Modifier des commentaires:
Résultat de https://maps.googleapis.com/maps/api/geocode/json?address=Imanova+19%2C+Astana
{
"results" : [
{
"address_components" : [
{
"long_name" : "Astaná",
"short_name" : "Astaná",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Astana",
"short_name" : "Astana",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "Kazajistán",
"short_name" : "KZ",
"types" : [ "country", "political" ]
},
{
"long_name" : "020000",
"short_name" : "020000",
"types" : [ "postal_code" ]
}
],
"formatted_address" : "Astaná 020000, Kazajistán",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : 51.2903453,
"lng" : 71.7427397
},
"southwest" : {
"lat" : 51.0055461,
"lng" : 70.9179879
}
},
"location" : {
"lat" : 51.16052269999999,
"lng" : 71.47035579999999
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 51.2903453,
"lng" : 71.7427397
},
"southwest" : {
"lat" : 51.0055461,
"lng" : 70.9179879
}
}
},
"partial_match" : true,
"place_id" : "ChIJCUa1fcSARUIRKJKx3Y0U-Zc",
"types" : [ "locality", "political" ]
}
],
"status" : "OK"
}
Interrogation https://maps.googleapis.com/maps/api/geocode/json?address=Imanova+19%2C+Astana en utilisant Chrome je reçois ' » lat ": 51.16052269999999' avec" "location_type": "APPROXIMATE" '. Quelle est votre 'location_type'? – antonio
mon emplacement_type est ROOFTOP. Je suis également en train de tester en utilisant Chrome. Mais pourquoi avons-nous différents types? comment affecter à ce type? – Bagdat
Selon https://developers.google.com/maps/documentation/geocoding/intro 'ROOFTOP'" indique que le résultat renvoyé est un géocodage précis pour lequel nous avons des informations de localisation précises jusqu'à la précision de l'adresse ". Je demande sans clé API – antonio