Maison > Java > javaDidacticiel > le corps du texte

Dans l'API Baidu Map, comment utiliser Java pour obtenir des informations sur les attractions à proximité à un emplacement spécifié ?

WBOY
Libérer: 2023-07-29 14:13:14
original
922 Les gens l'ont consulté

Dans l'API Baidu Map, comment utiliser Java pour obtenir des informations sur les attractions à proximité à un emplacement spécifié ?

Avec le développement du tourisme, les gens sont devenus plus pratiques et recherchent des informations personnalisées sur les destinations de voyage. Il est souvent nécessaire d'obtenir des informations sur les attractions à proximité d'un endroit spécifique afin de pouvoir les fournir aux utilisateurs. Cette fonction peut être facilement implémentée à l'aide de l'API Baidu Map. Dans cet article, je vais vous présenter comment utiliser le langage de programmation Java pour obtenir des informations sur les attractions à proximité à un emplacement spécifié dans l'API Baidu Map.

Tout d'abord, nous devons préparer un compte développeur Baidu Map et obtenir un Baidu Map AK (Access Key).

Ensuite, nous devons présenter les bibliothèques Java pertinentes. Dans cet exemple, nous utilisons la bibliothèque HttpClient pour effectuer des requêtes HTTP et la bibliothèque Json pour traiter les données JSON renvoyées.

import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
Copier après la connexion

Ensuite, nous devons définir une méthode pour envoyer une requête HTTP qui prend l'URL pour obtenir les informations sur l'attraction à proximité en tant que paramètre et renvoie la chaîne JSON de réponse.

public static String sendGetRequest(String url) throws ClientProtocolException, IOException {
    CloseableHttpClient httpClient = HttpClients.createDefault();
    HttpGet httpGet = new HttpGet(url);
    HttpResponse response = httpClient.execute(httpGet);
    HttpEntity entity = response.getEntity();
    String result = EntityUtils.toString(entity);
    return result;
}
Copier après la connexion

Ensuite, nous devons écrire une méthode pour analyser les données JSON renvoyées et extraire des informations sur les attractions à proximité.

public static void getNearbyPlaces(String location) {
    String ak = "YOUR_AK_HERE";
    String url = "http://api.map.baidu.com/place/v2/search?query=景点&location=" + location + "&radius=2000&output=json&ak=" + ak;
    try {
        String result = sendGetRequest(url);
        JSONObject jsonObject = JSON.parseObject(result);
        JSONArray results = jsonObject.getJSONArray("results");
        
        for (int i = 0; i < results.size(); i++) {
            JSONObject place = results.getJSONObject(i);
            String name = place.getString("name");
            String address = place.getString("address");
            double lng = place.getJSONObject("location").getDouble("lng");
            double lat = place.getJSONObject("location").getDouble("lat");
            
            System.out.println("名称:" + name);
            System.out.println("地址:" + address);
            System.out.println("经度:" + lng);
            System.out.println("纬度:" + lat);
            System.out.println("-----------------------------------");
        }
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
Copier après la connexion

Dans le code ci-dessus, nous construisons d'abord l'URL et ajoutons AK, le type de requête (requête), la latitude et la longitude (emplacement), le rayon de recherche (radius) et le format de retour (sortie) comme paramètres à l'URL. Ensuite, nous envoyons une requête HTTP pour obtenir les données JSON renvoyées et extrayons le nom, l'adresse, la longitude et la latitude des attractions à proximité via l'analyse JSON. Enfin, nous imprimons ces informations.

Enfin, nous pouvons appeler la méthode getNearbyPlaces et passer la latitude et la longitude de l'emplacement spécifié pour obtenir des informations sur les attractions à proximité.

public static void main(String[] args) {
    String location = "116.404,39.915";
    getNearbyPlaces(location);
}
Copier après la connexion

Ce qui précède est un exemple simple d'utilisation de Java pour obtenir des informations sur les attractions à proximité d'un emplacement spécifié dans l'API Baidu Map. Grâce à cet exemple, nous pouvons facilement mettre en œuvre la fonction d'obtention d'informations sur les attractions à proximité et fournir aux utilisateurs des services de voyage plus personnalisés et plus précis. 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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!