Rumah > Java > javaTutorial > teks badan

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

WBOY
Lepaskan: 2023-07-29 14:13:14
asal
922 orang telah melayarinya

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;
Salin selepas log masuk

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;
}
Salin selepas log masuk

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();
    }
}
Salin selepas log masuk

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);
}
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!