Rumah  >  Artikel  >  Java  >  Dalam API Peta Baidu, bagaimana untuk menggunakan Java untuk mendapatkan maklumat tarikan berdekatan di lokasi tertentu?

Dalam API Peta Baidu, bagaimana untuk menggunakan Java untuk mendapatkan maklumat tarikan berdekatan di lokasi tertentu?

WBOY
WBOYasal
2023-07-29 14:13:14896semak imbas

Dalam API Peta Baidu, bagaimana menggunakan Java untuk mendapatkan maklumat tarikan berdekatan di lokasi tertentu?

Dengan perkembangan pelancongan, orang ramai menjadi lebih mudah dan mengejar maklumat peribadi tentang destinasi pelancongan. Selalunya terdapat keperluan untuk mendapatkan maklumat tarikan berdekatan di lokasi tertentu supaya ia boleh diberikan kepada pengguna. Fungsi ini boleh dilaksanakan dengan mudah menggunakan API Peta Baidu. Dalam artikel ini, saya akan memperkenalkan cara menggunakan bahasa pengaturcaraan Java untuk mendapatkan maklumat tarikan berdekatan di lokasi tertentu dalam API Peta Baidu.

Pertama, kita perlu menyediakan akaun pembangun Peta Baidu dan mendapatkan AK (Kunci Akses) Baidu Map.

Seterusnya, kita perlu memperkenalkan perpustakaan Java yang berkaitan. Dalam contoh ini, kami menggunakan perpustakaan HttpClient untuk membuat permintaan HTTP dan perpustakaan Json untuk memproses data JSON yang dikembalikan.

import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

Kemudian, kita perlu menentukan kaedah untuk menghantar permintaan HTTP yang mengambil URL untuk mendapatkan maklumat tarikan berdekatan sebagai parameter dan mengembalikan rentetan JSON respons.

public static String sendGetRequest(String url) throws ClientProtocolException, IOException {
    CloseableHttpClient httpClient = HttpClients.createDefault();
    HttpGet httpGet = new HttpGet(url);
    HttpResponse response = httpClient.execute(httpGet);
    HttpEntity entity = response.getEntity();
    String result = EntityUtils.toString(entity);
    return result;
}

Seterusnya, kita perlu menulis kaedah untuk menghuraikan data JSON yang dikembalikan dan mengekstrak maklumat tentang tarikan berdekatan.

public static void getNearbyPlaces(String location) {
    String ak = "YOUR_AK_HERE";
    String url = "http://api.map.baidu.com/place/v2/search?query=景点&location=" + location + "&radius=2000&output=json&ak=" + ak;
    try {
        String result = sendGetRequest(url);
        JSONObject jsonObject = JSON.parseObject(result);
        JSONArray results = jsonObject.getJSONArray("results");
        
        for (int i = 0; i < results.size(); i++) {
            JSONObject place = results.getJSONObject(i);
            String name = place.getString("name");
            String address = place.getString("address");
            double lng = place.getJSONObject("location").getDouble("lng");
            double lat = place.getJSONObject("location").getDouble("lat");
            
            System.out.println("名称:" + name);
            System.out.println("地址:" + address);
            System.out.println("经度:" + lng);
            System.out.println("纬度:" + lat);
            System.out.println("-----------------------------------");
        }
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

Dalam kod di atas, kami mula-mula membina URL dan menambah AK, jenis pertanyaan (pertanyaan), latitud dan longitud (lokasi), jejari carian (jejari) dan format pulangan (output) sebagai parameter pada URL. Kemudian, kami menghantar permintaan HTTP untuk mendapatkan data JSON yang dikembalikan, dan mengekstrak nama, alamat, longitud dan latitud tarikan berdekatan melalui penghuraian JSON. Akhirnya, kami mencetak maklumat ini.

Akhir sekali, kami boleh memanggil kaedah getNearbyPlaces dan memasukkan longitud dan latitud lokasi yang dinyatakan untuk mendapatkan maklumat tentang tarikan berdekatan.

public static void main(String[] args) {
    String location = "116.404,39.915";
    getNearbyPlaces(location);
}

Di atas ialah contoh mudah menggunakan Java untuk mendapatkan maklumat tentang tarikan berdekatan lokasi tertentu dalam API Peta Baidu. Melalui contoh ini, kami boleh dengan mudah melaksanakan fungsi mendapatkan maklumat tentang tarikan berdekatan dan menyediakan pengguna dengan perkhidmatan perjalanan yang lebih diperibadikan dan tepat. Semoga artikel ini dapat membantu anda!

Atas ialah kandungan terperinci Dalam API Peta Baidu, bagaimana untuk menggunakan Java untuk mendapatkan maklumat tarikan berdekatan di lokasi tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn