Java コードを使用して、Baidu Maps の Baidu 位置検索 API を通じて指定されたタイプの近くの場所を検索するにはどうすればよいですか?

王林
リリース: 2023-07-30 10:13:14
オリジナル
1543 人が閲覧しました

Java コードを使用して、Baidu Maps の Baidu 位置検索 API を通じて指定されたタイプの近くの場所を検索するにはどうすればよいですか?

Baidu Map は、開発者が使用できるさまざまな機能と API を提供する、広く使用されている地図サービスです。その中で、位置検索 API は、キーワードに基づいて周囲の位置を検索するのに役立ちます。この記事では、Java コードを使用して Baidu 位置検索 API を呼び出し、指定したタイプの近くの位置を検索する方法を紹介します。

まず、Baidu 開発者アカウントを登録し、API キーを取得するアプリケーションを作成する必要があります。 API キーを取得したら、Java コードの記述を開始できます。

まず、HTTP リクエストを送信するための HttpClient オブジェクトを作成する必要があります。これは、Apache HTTP コンポーネント ライブラリを使用して簡単に実装できます。 Maven を使用すると、pom.xml ファイルに次の依存関係を追加できます:

<dependencies>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.13</version>
    </dependency>
</dependencies>
ログイン後にコピー

次に、リクエスト URL を構築する必要があります。 Baidu 位置検索 API のリクエスト URL 形式は次のとおりです:

http://api.map.baidu.com/place/v2/search?query=关键词&location=纬度,经度&radius=半径&output=输出格式&ak=密钥
ログイン後にコピー

このうち、クエリ パラメータは検索キーワードの指定に使用され、location パラメータは検索の中心点の座標の指定に使用されます。 、「緯度、経度」の形式で、radius パラメータは検索の半径をメートル単位で指定するために使用されます。output パラメータは、JSON または XML の出力形式を指定するために使用されます。ak パラメータは、次の目的で使用されます。開発者の API キーを指定します。

リクエスト URL の構築方法を示すサンプル コード スニペットは次のとおりです。

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);
ログイン後にコピー

次に、HTTP リクエストを送信し、返された JSON または XML データを解析する必要があります。 com.google.gson ライブラリを使用すると、JSON 形式のデータを簡単に解析できます。 Maven を介して、pom.xml ファイルに次の依存関係を追加できます。

<dependencies>
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.8.6</version>
    </dependency>
</dependencies>
ログイン後にコピー

以下は、HTTP リクエストを送信し、返された JSON データを解析する方法を示すサンプル コード スニペットです。

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);
}
ログイン後にコピー

Above コード スニペットは、返された JSON データから各場所の名前と座標を抽出し、コンソールに出力します。

最後に、上記のコードを Java クラスに統合し、main 関数を実行してコードを実行するだけです。実際の使用においては、必要に応じて適宜変更、最適化することができます。

上記の手順により、Java コードを使用して、Baidu Maps 上の Baidu 位置検索 API を通じて指定されたタイプの近くの場所を検索できます。この記事がお役に立てば幸いです!

以上がJava コードを使用して、Baidu Maps の Baidu 位置検索 API を通じて指定されたタイプの近くの場所を検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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