Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengintegrasikan API Peta Baidu dalam PHP

Bagaimana untuk mengintegrasikan API Peta Baidu dalam PHP

WBOY
WBOYasal
2023-05-23 08:34:351287semak imbas

Dengan perkembangan masyarakat, kehidupan kita tidak dapat dipisahkan daripada navigasi peta. Dalam pembangunan web, operasi peta boleh dilaksanakan dengan mudah dengan bantuan API peta. Sebagai penyedia perkhidmatan peta yang paling popular, penyepaduan dan penggunaan API Peta Baidu juga telah menarik perhatian yang semakin meningkat. Artikel ini akan memperkenalkan cara mengintegrasikan API Peta Baidu dalam PHP untuk merealisasikan pembangunan aplikasi peta.

1. Daftar dan dapatkan AK dan SK

Sebelum menggunakan Baidu Map API, anda perlu mendaftar dan mendapatkannya di [Baidu Map Open Platform](https://lbsyun.baidu.com /) AK dan SK. AK ialah kunci pengesahan untuk mengakses API Peta Baidu dan SK ialah kunci pengesahan keselamatan yang sepadan dengan AK. Proses khusus untuk mendapatkan AK dan SK adalah seperti berikut:

  1. Daftar akaun Baidu dan log masuk ke Platform Terbuka Peta Baidu.
  2. Klik "Konsol" di penjuru kanan sebelah atas dan pilih "Buat Aplikasi".
  3. Isi nama permohonan, jenis permohonan dan maklumat lain mengikut keperluan sebenar, dan serahkan permohonan penciptaan.
  4. Selepas penciptaan berjaya, masukkan halaman pengurusan aplikasi dan anda boleh melihat AK dan SK aplikasi.

2. Panggil Peta Baidu melalui API HTTP

API Peta Baidu menyediakan pelbagai antara muka, termasuk API JavaScript, API HTTP, SDK mudah alih, dsb. Antaranya, API HTTP boleh terus mengakses perkhidmatan peta Baidu melalui permintaan HTTP Ia sangat berkuasa dan mudah digunakan, jadi kaedah penyepaduan API HTTP diperkenalkan di sini.

Panggilan HTTP API dilaksanakan melalui permintaan rangkaian dan memerlukan penggunaan pustaka cURL PHP dan fungsi json_decode. Langkah khusus adalah seperti berikut:

  1. Gunakan perpustakaan cURL untuk menghantar permintaan akses HTTP ke API Peta Baidu dan dapatkan respons.

    //百度地图HTTP API接口地址
    $url = "http://api.map.baidu.com/place/v2/search?query=美食&region=上海&output=json&ak=your_ak";
    //初始化cURL
    $curl = curl_init($url);
    
    //设置请求选项
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);//忽略SSL证书
    //发送请求
    $response = curl_exec($curl);
    
    //关闭cURL
    curl_close($curl);

    $url dalam kod di atas ialah alamat antara muka HTTP API yang disediakan oleh Baidu Map API, di mana parameter pertanyaan mewakili kata kunci carian, parameter rantau mewakili kawasan carian dan parameter output mewakili format output (json digunakan di sini format), parameter ak ialah nilai AK yang diperoleh sebelum ini.

  2. Menghuraikan hasil respons HTTP

    Hasil respons HTTP API Peta Baidu ialah data teks dalam format JSON, yang perlu dihuraikan ke dalam tatasusunan menggunakan fungsi json_decode PHP untuk pemprosesan.

    //解析JSON字符串
    $result = json_decode($response, true);

    $hasil dalam kod di atas ialah tatasusunan yang dihuraikan.

  3. Gunakan hasil yang dihuraikan

    Hasil yang dihuraikan boleh digunakan mengikut keperluan, seperti paparan maklumat, pengiraan jarak dan operasi lain.

3. Memanggil Baidu Map melalui JavaScript API

JavaScript API ialah bahagian teras Baidu Map API, menyediakan perkhidmatan peta yang komprehensif dan interaktif yang boleh digunakan di Web Pembangunan web dan mudah alih. Mengintegrasikan API JavaScript melalui PHP boleh mencapai aplikasi peta yang lebih fleksibel dan mesra. Langkah khusus adalah seperti berikut:

  1. Perkenalkan API JavaScript Peta Baidu ke dalam halaman HTML.

    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=your_ak"></script>

    your_ak dalam kod di atas ialah nilai AK yang diperoleh sebelum ini.

  2. Buat objek peta dan buat tetapan yang berkaitan.

    //创建地图对象
    var map = new BMap.Map("map-container");
    
    //设置地图中心点和缩放级别
    var point = new BMap.Point(121.479, 31.231);
    map.centerAndZoom(point, 15);
    
    //添加控件
    map.addControl(new BMap.NavigationControl()); //添加缩放控件
    map.addControl(new BMap.ScaleControl()); //添加比例尺控件
    
    //开启鼠标滚轮缩放
    map.enableScrollWheelZoom(true);

    Peta dalam kod di atas ialah objek peta, bekas peta ialah nilai id bekas peta, titik mewakili koordinat longitud dan latitud bagi titik tengah peta dan 15 mewakili titik awal tahap zum.

  3. Tambah tindanan pada peta.

    Tindanan merujuk kepada grafik seperti titik, garisan dan kawasan yang dipaparkan pada peta. Peta Baidu menyediakan berbilang jenis tindanan, seperti titik bertanda, tetingkap maklumat, poligaris, poligon, dsb. Tindanan boleh dibuat dan diurus dengan mudah menggunakan API JavaScript dalam PHP.

    //创建标注点
    var marker = new BMap.Marker(point);
    
    //设置标注点图标
    var icon = new BMap.Icon("http://api.map.baidu.com/img/markers.png", new BMap.Size(23, 25), {
        offset: new BMap.Size(0, 0),
        imageOffset: new BMap.Size(-23, -25)
    });
    marker.setIcon(icon);
    
    //添加标注点到地图中
    map.addOverlay(marker);

    Penanda dalam kod di atas ialah objek titik penandaan, ikon ialah ikon titik penandaan dan saiz dan ofset ialah saiz dan ofset ikon. Dengan menetapkan atribut titik label, anda boleh mencapai paparan tindanan yang lebih fleksibel.

Setakat ini, kami telah memperkenalkan cara mengintegrasikan API Peta Baidu dalam PHP dan melaksanakan operasi peta melalui API HTTP dan JavaScript. Dalam membangunkan projek sebenar, adalah perlu untuk memilih antara muka API yang sesuai mengikut keperluan sebenar dan menjalankan konfigurasi dan pembangunan terperinci.

Atas ialah kandungan terperinci Bagaimana untuk mengintegrasikan API Peta Baidu dalam PHP. 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