Baidu Map API で、Java を使用して指定した場所の地下鉄路線情報を取得するにはどうすればよいですか?

WBOY
リリース: 2023-07-30 16:31:51
オリジナル
1725 人が閲覧しました

Baidu Map API で、Java を使用して指定した場所の地下鉄路線情報を取得するにはどうすればよいですか?

地下鉄は現代の都市交通において重要な役割を果たしており、ユーザーが地下鉄の路線情報を見つけやすくするために、Baidu Maps は対応する API インターフェイスを提供しています。この記事では、Java コードを使用して、Baidu Map API を通じて指定した場所の地下鉄路線情報を取得する方法を紹介します。

まず、Baidu Map 開発者キーを取得する必要があります。百度地図オープンプラットフォームに登録・ログイン後、「アプリケーション管理」ページで新規アプリケーションを作成し、「キー管理」で開発者キーを取得します。キーを取得したら、そのキーを使用して後続の API 呼び出しを行うことができます。

次に、関連する Java ライブラリをインポートする必要があります。 Java 開発パッケージ管理ツール Maven を使用して依存関係を管理できます。次の依存関係をプロジェクトの pom.xml ファイルに追加します。

<dependencies>
  <dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.47</version>
  </dependency>
  <dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.9</version>
  </dependency>
</dependencies>
ログイン後にコピー

コードでは、まず HTTP リクエストを構築し、リクエストされた URL、リクエスト パラメータ、およびその他の情報を設定する必要があります。次に、HTTP リクエストを送信し、戻り結果を取得します。最後に、返された結果が解析され、必要な地下鉄路線情報が抽出されます。

次は、Java を使用して指定した場所の地下鉄路線情報を取得する方法を示すサンプル コードです:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

public class BaiduMapAPI {
    
    public static void main(String[] args) {
        String url = "http://api.map.baidu.com/place/v2/search?query=地铁站&location=40.057406,116.296440&radius=2000&output=json&ak=Your_AK";
        
        String result = sendHttpRequest(url);
        Map<String, String> subwayLines = parseSubwayLines(result);
        
        System.out.println("地铁线路信息:");
        for (String lineName : subwayLines.keySet()) {
            System.out.println(lineName + ":" + subwayLines.get(lineName));
        }
    }
    
    private static String sendHttpRequest(String urlString) {
        try {
            URL url = new URL(urlString);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            connection.setConnectTimeout(5000);
            connection.setReadTimeout(5000);
            
            int responseCode = connection.getResponseCode();
            if (responseCode == HttpURLConnection.HTTP_OK) {
                BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                String line;
                StringBuilder response = new StringBuilder();
                while ((line = in.readLine()) != null) {
                    response.append(line);
                }
                in.close();
                
                return response.toString();
            } else {
                System.out.println("HTTP请求失败,错误码:" + responseCode);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        
        return null;
    }
    
    private static Map<String, String> parseSubwayLines(String json) {
        Map<String, String> subwayLines = new HashMap<>();
        JSONObject jsonObject = JSON.parseObject(json);
        
        JSONArray results = jsonObject.getJSONArray("results");
        for (int i = 0; i < results.size(); i++) {
            JSONObject result = results.getJSONObject(i);
            
            String name = result.getString("name");
            String detail = result.getString("detail_info");
            
            subwayLines.put(name, detail);
        }
        
        return subwayLines;
    }
}
ログイン後にコピー

上記のコードでは、Your_AK## を置き換える必要があります。 # 独自の Baidu Map API 開発者キーを使用します。 locationパラメータは、特定の場所の経度と緯度の座標を指定するために使用されます。ここでは北京の座標が使用されます。 radiusパラメータは検索エリアの半径を指定するために使用されます。ここでは 2000 メートルに設定されています。 query パラメータは検索キーワードを指定するために使用されます。ここでは「地下鉄駅」が使用されています。

上記のコードを実行して、コンソール上の指定した場所に地下鉄路線情報を出力します。

上記のコード例を通じて、Java コードを使用して Baidu Map API を呼び出し、指定された場所の地下鉄路線情報を取得する方法を確認できます。実際のニーズに応じて、Baidu Map API を通じて他の種類の地図データを取得することもできます。この記事が、Baidu Map API の理解と使用に少しでも役立つことを願っています。

以上がBaidu Map API で、Java を使用して指定した場所の地下鉄路線情報を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート