Heim > Java > javaLernprogramm > Wie verwende ich Java-Code, um nahegelegene Orte eines bestimmten Typs über die Baidu-Standortsuch-API auf Baidu Maps zu finden?

Wie verwende ich Java-Code, um nahegelegene Orte eines bestimmten Typs über die Baidu-Standortsuch-API auf Baidu Maps zu finden?

王林
Freigeben: 2023-07-30 10:13:14
Original
1565 Leute haben es durchsucht

Wie verwende ich Java-Code, um nahegelegene Orte eines bestimmten Typs über die Baidu-Standortsuch-API auf Baidu Maps zu finden?

Baidu Map ist ein weit verbreiteter Kartendienst, der Entwicklern eine Vielzahl von Funktionen und APIs zur Verfügung stellt. Unter anderem kann uns die Standortsuch-API dabei helfen, anhand von Schlüsselwörtern nach umliegenden Standorten zu suchen. In diesem Artikel werde ich vorstellen, wie man mithilfe von Java-Code die Baidu-Standortsuch-API aufruft, um nahegelegene Standorte eines bestimmten Typs zu finden.

Zuerst müssen wir ein Baidu-Entwicklerkonto registrieren und eine Anwendung erstellen, um den API-Schlüssel zu erhalten. Nachdem wir den API-Schlüssel erhalten haben, können wir mit dem Schreiben von Java-Code beginnen.

Zuerst müssen wir ein HttpClient-Objekt erstellen, um HTTP-Anfragen zu senden. Dies kann einfach mithilfe der Apache HTTP Components-Bibliothek implementiert werden. Mit Maven können wir der pom.xml-Datei die folgenden Abhängigkeiten hinzufügen:

<dependencies>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.13</version>
    </dependency>
</dependencies>
Nach dem Login kopieren

Als nächstes müssen wir die Anforderungs-URL erstellen. Das Anforderungs-URL-Format der Baidu-Standortsuch-API lautet wie folgt:

http://api.map.baidu.com/place/v2/search?query=关键词&location=纬度,经度&radius=半径&output=输出格式&ak=密钥
Nach dem Login kopieren

Unter anderem wird der Abfrageparameter verwendet, um das Suchschlüsselwort anzugeben; der Standortparameter wird verwendet, um die Mittelpunktkoordinaten der Suche im Format „anzugeben“ Breitengrad, Längengrad“; der Parameter „radius“ wird verwendet, um den Suchradius in Metern anzugeben; der Parameter „output“ wird verwendet, um das Ausgabeformat anzugeben, das JSON oder XML sein kann; der Parameter „ak“ wird verwendet, um den API-Schlüssel des Entwicklers anzugeben .

Hier ist ein Beispielcode-Snippet, das zeigt, wie eine Anfrage-URL erstellt wird:

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);
Nach dem Login kopieren

Als nächstes müssen wir die HTTP-Anfrage senden und die zurückgegebenen JSON- oder XML-Daten analysieren. Sie können die Bibliothek com.google.gson verwenden, um JSON-formatierte Daten einfach zu analysieren. Über Maven können wir der pom.xml-Datei die folgenden Abhängigkeiten hinzufügen:

<dependencies>
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.8.6</version>
    </dependency>
</dependencies>
Nach dem Login kopieren

Das Folgende ist ein Beispielcode-Snippet, das zeigt, wie man eine HTTP-Anfrage sendet und die zurückgegebenen JSON-Daten analysiert:

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);
}
Nach dem Login kopieren

Der obige Code-Snippet stammt von Die zurückgegebenen JSON-Daten. Der Name und die Koordinaten jedes Standorts werden extrahiert und an die Konsole ausgegeben.

Schließlich müssen wir nur noch den obigen Code in eine Java-Klasse integrieren und die Hauptfunktion ausführen, um den Code auszuführen. Im tatsächlichen Einsatz kann es je nach Bedarf entsprechend modifiziert und optimiert werden.

Durch die oben genannten Schritte können wir Java-Code verwenden, um nahegelegene Orte eines bestimmten Typs über die Baidu-Standortsuch-API auf Baidu Maps zu finden. Ich hoffe, dieser Artikel ist hilfreich für Sie!

Das obige ist der detaillierte Inhalt vonWie verwende ich Java-Code, um nahegelegene Orte eines bestimmten Typs über die Baidu-Standortsuch-API auf Baidu Maps zu finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage