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

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

WBOY
WBOYoriginal
2023-07-29 14:13:14997parcourir

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;

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;
}

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();
    }
}

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);
}

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!

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