Maison  >  Article  >  Java  >  Comment utiliser le code Java pour trouver des lieux à proximité d'un type spécifié via l'API de recherche de localisation Baidu sur Baidu Maps ?

Comment utiliser le code Java pour trouver des lieux à proximité d'un type spécifié via l'API de recherche de localisation Baidu sur Baidu Maps ?

王林
王林original
2023-07-30 10:13:141484parcourir

Comment utiliser le code Java pour trouver des lieux à proximité d'un type spécifié via l'API de recherche de localisation Baidu sur Baidu Maps ?

Baidu Map est un service de cartographie largement utilisé qui fournit une variété de fonctions et d'API que les développeurs peuvent utiliser. Parmi eux, l'API de recherche de localisation peut nous aider à rechercher des emplacements environnants en fonction de mots-clés. Dans cet article, je vais vous présenter comment utiliser le code Java pour appeler l'API de recherche d'emplacement Baidu afin de trouver des emplacements à proximité d'un type spécifié.

Tout d'abord, nous devons enregistrer un compte développeur Baidu et créer une application pour obtenir la clé API. Après avoir obtenu la clé API, nous pouvons commencer à écrire du code Java.

Tout d'abord, nous devons créer un objet HttpClient pour envoyer des requêtes HTTP. Cela peut être facilement implémenté à l’aide de la bibliothèque Apache HTTP Components. Avec Maven, nous pouvons ajouter les dépendances suivantes au fichier pom.xml :

<dependencies>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.13</version>
    </dependency>
</dependencies>

Ensuite, nous devons construire l'URL de la requête. Le format d'URL de requête de l'API de recherche de localisation Baidu est le suivant :

http://api.map.baidu.com/place/v2/search?query=关键词&location=纬度,经度&radius=半径&output=输出格式&ak=密钥

Parmi eux, le paramètre de requête est utilisé pour spécifier le mot-clé de recherche ; le paramètre de localisation est utilisé pour spécifier les coordonnées du point central de la recherche, au format " latitude, longitude" ; le paramètre radius est utilisé pour spécifier la recherche Le rayon de , en mètres ; le paramètre de sortie est utilisé pour spécifier le format de sortie, qui peut être JSON ou XML ; le paramètre ak est utilisé pour spécifier la clé API du développeur .

Voici un exemple d'extrait de code montrant comment construire une URL de requête :

String query = "餐馆";
double latitude = 39.915;
double longitude = 116.404;
int radius = 1000;
String output = "json";
String ak = "your_api_key";

String url = String.format("http://api.map.baidu.com/place/v2/search?query=%s&location=%f,%f&radius=%d&output=%s&ak=%s",
        URLEncoder.encode(query, "UTF-8"), latitude, longitude, radius, output, ak);

Ensuite, nous devons envoyer la requête HTTP et analyser les données JSON ou XML renvoyées. Vous pouvez utiliser la bibliothèque com.google.gson pour analyser facilement les données au format JSON. Grâce à Maven, nous pouvons ajouter les dépendances suivantes au fichier pom.xml :

<dependencies>
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.8.6</version>
    </dependency>
</dependencies>

Ce qui suit est un exemple d'extrait de code qui montre comment envoyer une requête HTTP et analyser les données JSON renvoyées :

HttpClient httpClient = HttpClientBuilder.create().build();
HttpGet httpGet = new HttpGet(url);

HttpResponse httpResponse = httpClient.execute(httpGet);
HttpEntity httpEntity = httpResponse.getEntity();
String responseString = EntityUtils.toString(httpEntity);

JsonObject responseJson = JsonParser.parseString(responseString).getAsJsonObject();
JsonArray resultsArray = responseJson.getAsJsonArray("results");

for (JsonElement result : resultsArray) {
    JsonObject resultObject = result.getAsJsonObject();
    String name = resultObject.get("name").getAsString();
    JsonObject locationObject = resultObject.getAsJsonObject("location");
    double resultLatitude = locationObject.get("lat").getAsDouble();
    double resultLongitude = locationObject.get("lng").getAsDouble();
    System.out.println(name + ": " + resultLatitude + ", " + resultLongitude);
}

L'extrait de code ci-dessus provient de les données JSON renvoyées Le nom et les coordonnées de chaque emplacement sont extraits et affichés sur la console.

Enfin, il suffit d'intégrer le code ci-dessus dans une classe Java et d'exécuter la fonction principale pour exécuter le code. En utilisation réelle, il peut être modifié et optimisé de manière appropriée en fonction des besoins.

Grâce aux étapes ci-dessus, nous pouvons utiliser le code Java pour utiliser l'API de recherche de localisation Baidu afin de trouver des lieux à proximité d'un type spécifié sur Baidu Maps. J'espère que cet article vous sera utile !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn