Maison  >  Article  >  Java  >  Dans l'API Baidu Map, comment obtenir les détails des POI (points d'intérêt) d'un emplacement spécifié à l'aide de Java ?

Dans l'API Baidu Map, comment obtenir les détails des POI (points d'intérêt) d'un emplacement spécifié à l'aide de Java ?

WBOY
WBOYoriginal
2023-07-29 23:46:491871parcourir

Dans la société moderne, les gens sont de plus en plus conscients et familiers de leur environnement, notamment la connaissance des points d'intérêt (POI) à proximité. Les POI font référence à certains emplacements géographiques spécifiques, tels que les restaurants, les hôtels, les attractions touristiques, etc. Baidu Maps fournit une API puissante pour aider les développeurs à obtenir les détails des POI à un emplacement spécifié. Cet article explique comment utiliser le langage Java pour implémenter cette fonction.

Tout d'abord, nous devons demander un compte développeur Baidu Maps et obtenir la clé API correspondante. Après avoir obtenu la clé API, nous pouvons commencer à écrire du code Java pour obtenir les détails du POI à l'emplacement spécifié.

Tout d'abord, nous importons les classes et bibliothèques Java nécessaires :

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

Ensuite, nous pouvons définir une méthode pour obtenir les détails du POI :

public static void getPOIDetails(String location, String query, String ak) {
    try {
        // 构造URL
        String urlString = "http://api.map.baidu.com/place/v2/search?query=" + query + "&location=" + location + "&radius=2000&output=json&ak=" + ak;
        URL url = new URL(urlString);
        // 打开连接
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        // 设置请求参数
        connection.setRequestMethod("GET");
        connection.setRequestProperty("Content-Type", "application/json");
        // 获取响应结果
        BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
        String line;
        StringBuilder response = new StringBuilder();
        while ((line = reader.readLine()) != null) {
            response.append(line);
        }
        reader.close();
        // 解析JSON结果
        JSONObject jsonObject = JSONObject.fromObject(response.toString());
        JSONArray results = jsonObject.getJSONArray("results");
        // 输出POI详细信息
        for (int i = 0; i < results.size(); i++) {
            JSONObject result = results.getJSONObject(i);
            System.out.println("POI名称:" + result.getString("name"));
            System.out.println("POI地址:" + result.getString("address"));
            System.out.println("POI电话:" + result.getString("telephone"));
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

Dans le code ci-dessus, nous fusionnons les paramètres de la requête en construisant l'URL, où query représente le type de POI que nous souhaitons interroger (comme les restaurants, les hôtels, etc.), location représente les coordonnées de localisation à interroger et rayon représente le rayon de la requête (unité : mètres), output représente le format des données de sortie et ak représente la clé API du développeur Baidu Map. query表示我们要查询的POI类型(如餐馆、酒店等),location表示要查询的位置坐标,radius表示查询半径(单位:米),output表示输出的数据格式,ak表示百度地图开发者API密钥。

最后,我们可以在主方法中调用上述方法,示例如下:

public static void main(String[] args) {
    // 要查询的位置坐标
    String location = "39.915,116.404";
    // 要查询的POI类型
    String query = "餐馆";
    // 百度地图开发者API密钥
    String ak = "Your API Key";
    // 获取POI详细信息
    getPOIDetails(location, query, ak);
}

在上述示例中,我们通过给定的位置坐标(以北京为例)和POI类型(餐馆),调用getPOIDetails

Enfin, on peut appeler la méthode ci-dessus dans la méthode main, l'exemple est le suivant :

rrreee

Dans l'exemple ci-dessus, on appelle getPOIDetails en donnant les coordonnées de localisation (en prenant Pékin comme exemple) et le type de POI (restaurant) méthode pour obtenir les détails du POI à l'emplacement spécifié. 🎜🎜Avec le code ci-dessus, nous pouvons facilement utiliser le langage Java pour obtenir les détails du POI de l'emplacement spécifié dans Baidu Maps. Ceci est très utile pour de nombreux scénarios d'application, tels que la recherche environnante, la navigation, etc. J'espère que cet article vous aidera ! 🎜

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