Bagaimana untuk menggunakan kod Java untuk mencari tempat berdekatan jenis tertentu melalui API carian lokasi Baidu pada Peta Baidu?
Baidu Map ialah perkhidmatan peta yang digunakan secara meluas yang menyediakan pelbagai fungsi dan API untuk digunakan oleh pembangun. Antaranya, API carian lokasi boleh membantu kami mencari lokasi berdekatan berdasarkan kata kunci. Dalam artikel ini, saya akan memperkenalkan cara menggunakan kod Java untuk memanggil API carian lokasi Baidu untuk mencari lokasi berdekatan bagi jenis yang ditentukan.
Pertama, kita perlu mendaftar akaun pembangun Baidu dan membuat aplikasi untuk mendapatkan kunci API. Selepas mendapat kunci API, kita boleh mula menulis kod Java.
Pertama, kita perlu mencipta objek HttpClient untuk menghantar permintaan HTTP. Ini boleh dilaksanakan dengan mudah menggunakan perpustakaan Komponen HTTP Apache. Dengan Maven, kita boleh menambah kebergantungan berikut pada fail pom.xml:
<dependencies> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.13</version> </dependency> </dependencies>
Seterusnya, kita perlu membina URL permintaan. Format URL permintaan API carian lokasi Baidu adalah seperti berikut:
http://api.map.baidu.com/place/v2/search?query=关键词&location=纬度,经度&radius=半径&output=输出格式&ak=密钥
Antaranya, parameter pertanyaan digunakan untuk menentukan kata kunci carian, parameter lokasi digunakan untuk menentukan koordinat titik tengah carian, dalam format "; latitud, longitud"; parameter jejari digunakan untuk menentukan carian Jejari , dalam meter; parameter output digunakan untuk menentukan format output, yang boleh menjadi JSON atau XML; parameter ak digunakan untuk menentukan kunci API pembangun .
Berikut ialah contoh coretan kod yang menunjukkan cara membina URL permintaan:
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);
Seterusnya, kami perlu menghantar permintaan HTTP dan menghuraikan data JSON atau XML yang dikembalikan. Anda boleh menggunakan perpustakaan com.google.gson untuk menghuraikan data berformat JSON dengan mudah. Melalui Maven, kami boleh menambah kebergantungan berikut pada fail pom.xml:
<dependencies> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.6</version> </dependency> </dependencies>
Berikut ialah coretan kod contoh yang menunjukkan cara menghantar permintaan HTTP dan menghuraikan data JSON yang dikembalikan:
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); }
Coretan kod di atas adalah daripada data JSON yang dikembalikan Nama dan koordinat setiap lokasi diekstrak dan dikeluarkan ke konsol.
Akhir sekali, kita hanya perlu menyepadukan kod di atas ke dalam kelas Java dan melaksanakan fungsi utama untuk menjalankan kod. Dalam penggunaan sebenar, ia boleh diubah suai dan dioptimumkan mengikut keperluan.
Melalui langkah di atas, kami boleh menggunakan kod Java untuk mencari tempat berdekatan jenis tertentu melalui API carian lokasi Baidu pada Peta Baidu. Semoga artikel ini dapat membantu anda!
Atas ialah kandungan terperinci Bagaimana untuk menggunakan kod Java untuk mencari tempat berdekatan jenis yang ditentukan melalui API carian lokasi Baidu pada Peta Baidu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!