Dalam masyarakat moden, orang ramai semakin sedar dan akrab dengan persekitaran mereka, salah satunya ialah mengetahui tempat menarik (POI) berdekatan. POI merujuk kepada beberapa lokasi geografi tertentu, seperti restoran, hotel, tarikan pelancong, dsb. Peta Baidu menyediakan API yang berkuasa untuk membantu pembangun mendapatkan butiran POI di lokasi tertentu. Artikel ini akan memperkenalkan cara menggunakan bahasa Java untuk melaksanakan fungsi ini.
Pertama, kami perlu memohon akaun pembangun Peta Baidu dan mendapatkan kunci API yang sepadan. Selepas mendapatkan kunci API, kami boleh mula menulis kod Java untuk mendapatkan butiran POI di lokasi yang ditentukan.
Mula-mula, kami mengimport kelas dan perpustakaan Java yang diperlukan:
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;
Kemudian, kami boleh menentukan kaedah untuk mendapatkan butiran 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(); } }
Dalam kod di atas, kami menyambung parameter permintaan dengan membina URL, di mana pertanyaan
mewakili jenis POI yang ingin kami tanyakan (seperti restoran, hotel, dll.), lokasi
mewakili koordinat lokasi untuk ditanya dan radius
mewakili jejari pertanyaan (unit: meter ), output
mewakili format data output dan ak
mewakili kunci API pembangun Peta Baidu. 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
rrreee
Dalam contoh di atas, kita memanggilgetPOIDetails dengan memberikan koordinat lokasi (mengambil Beijing sebagai contoh) dan jenis POI (restoran)
Kaedah untuk mendapatkan butiran POI di lokasi yang ditentukan. 🎜🎜Dengan kod di atas, kami boleh menggunakan bahasa Java dengan mudah untuk mendapatkan butiran POI lokasi yang ditentukan dalam Peta Baidu. Ini sangat berguna untuk banyak senario aplikasi, seperti carian sekeliling, navigasi, dll. Harap artikel ini membantu anda! 🎜Atas ialah kandungan terperinci Dalam API Peta Baidu, bagaimana untuk mendapatkan butiran POI (Point of Interest) lokasi tertentu menggunakan Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!