Rumah >hujung hadapan web >tutorial js >Cara menggunakan JS dan Amap untuk melaksanakan fungsi carian di sekitar lokasi

Cara menggunakan JS dan Amap untuk melaksanakan fungsi carian di sekitar lokasi

WBOY
WBOYasal
2023-11-21 08:26:341186semak imbas

Cara menggunakan JS dan Amap untuk melaksanakan fungsi carian di sekitar lokasi

Cara menggunakan JS dan Amap untuk melaksanakan fungsi carian di sekitar lokasi

Pengenalan:
Dalam masyarakat digital hari ini, banyak aplikasi perlu menggunakan peta untuk menyediakan fungsi seperti kedudukan dan navigasi. Amap ialah salah satu penyedia perkhidmatan peta yang paling terkenal dan berkuasa di China. Artikel ini akan memperkenalkan cara menggunakan API JS dan Amap untuk melaksanakan fungsi carian lokasi dan memberikan contoh kod khusus.

1. Persediaan

  1. Dapatkan akaun pembangun Amap
    Sebelum anda bermula, anda perlu mendaftar akaun pembangun Amap dan mendapatkan kunci pembangun. Melalui kunci ini, kita boleh menggunakan fungsi API Amap.
  2. Perkenalkan API Amap
    Perkenalkan fail perpustakaan JS Amap ke dalam halaman, kodnya adalah seperti berikut:

    <script src="https://webapi.amap.com/maps?v=1.4.15&key=yourKey"></script>

    Antaranya, yourKey ialah kunci pembangun anda. yourKey是你的开发者密钥。

二、实现地点周边搜索功能
下面,我们将使用JS和高德地图API来实现地点周边搜索功能。

  1. 创建地图实例
    首先,在页面中创建一个容器,用于显示地图。代码如下:

    <div id="map"></div>

    然后,在JS代码中创建地图实例,代码如下:

    var map = new AMap.Map('map', {
     zoom: 14, // 设置地图缩放级别
     center: [116.397428, 39.90923] // 设置地图中心点坐标
    });

    在上述代码中,我们设置了地图的缩放级别为14,并设置了地图的中心点坐标为[116.397428, 39.90923](北京市的坐标)。

  2. 添加地点标记
    在实现地点周边搜索功能之前,我们需要先在地图上添加一个标记,表示当前位置。代码如下:

    var marker = new AMap.Marker({
     position: [116.397428, 39.90923], // 设置标记的位置坐标
     map: map // 将标记添加到地图上
    });

    在上述代码中,我们设置了标记的位置坐标为[116.397428, 39.90923],并将标记添加到了之前创建的地图实例中。

  3. 实现地点周边搜索
    接下来,我们将使用高德地图的POI搜索功能,实现地点周边搜索。代码如下:

    // 创建一个POI搜索对象
    var placeSearch = new AMap.PlaceSearch({
     pageSize: 10, // 每页显示的结果数量
     pageIndex: 1, // 当前页码
     city: '北京', // 设置搜索的城市
     citylimit: true // 限制搜索结果范围在当前城市
    });
    
    // 执行搜索
    placeSearch.searchNearBy('餐馆', [116.397428, 39.90923], 1000, function(status, result) {
     if (status === 'complete' && result.info === 'OK') {
         // 处理搜索结果
         var pois = result.poiList.pois;
         for (var i = 0; i < pois.length; i++) {
             var poi = pois[i];
             console.log(poi.name);
             console.log(poi.address);
         }
     } else {
         console.log('搜索失败');
     }
    });

    在上述代码中,我们创建了一个POI搜索对象,并设置了每页显示的结果数量、当前页码、搜索的城市和结果范围限制在当前城市。然后,我们调用searchNearBy方法执行搜索,其中参数'餐馆'表示搜索的关键词,[116.397428, 39.90923]表示搜索的中心坐标,1000

2. Laksanakan fungsi carian di sekitar lokasi

Seterusnya, kami akan menggunakan JS dan API Amap untuk melaksanakan fungsi carian di sekitar lokasi.


Buat contoh peta🎜Mula-mula, buat bekas dalam halaman untuk memaparkan peta. Kodnya adalah seperti berikut: 🎜rrreee🎜 Kemudian, buat contoh peta dalam kod JS, kodnya adalah seperti berikut: 🎜rrreee🎜 Dalam kod di atas, kami menetapkan tahap zum peta kepada 14, dan tetapkan titik tengah koordinat peta ke [116.397428, 39.90923 ] (Koordinat Bandar Beijing). 🎜🎜🎜🎜Tambah penanda lokasi🎜Sebelum melaksanakan fungsi carian di sekitar lokasi, kita perlu menambah penanda pada peta untuk mewakili lokasi semasa. Kodnya adalah seperti berikut: 🎜rrreee🎜Dalam kod di atas, kami menetapkan koordinat lokasi penanda kepada [116.397428, 39.90923] dan menambah penanda pada contoh peta yang dibuat sebelum ini. 🎜🎜🎜🎜Realisasikan carian di sekitar lokasi🎜Seterusnya, kami akan menggunakan fungsi carian POI Amap untuk melaksanakan carian di sekitar lokasi. Kod tersebut adalah seperti berikut: 🎜rrreee🎜Dalam kod di atas, kami mencipta objek carian POI dan menetapkan bilangan hasil yang dipaparkan pada setiap halaman, nombor halaman semasa, bandar yang dicari dan julat hasil adalah terhad kepada bandar semasa . Kemudian, kami memanggil kaedah searchNearBy untuk melakukan carian, di mana parameter 'restaurant' mewakili kata kunci carian dan [116.397428, 39.90923] mewakili pusat carian, 1000 mewakili julat jejari carian (unit ialah meter). 🎜🎜🎜🎜Apabila carian selesai, hasil carian diproses melalui fungsi panggil balik. Kami boleh mendapatkan maklumat nama dan alamat setiap lokasi daripada keputusan dan memprosesnya dengan lebih lanjut. 🎜🎜Kesimpulan: 🎜Dengan menggunakan JS dan API Amap, kami boleh melaksanakan fungsi carian di sekitar lokasi dengan mudah. Dalam aplikasi praktikal, parameter seperti kata kunci carian, koordinat pusat carian dan julat carian boleh dilaraskan mengikut keperluan untuk memenuhi keperluan perniagaan tertentu. Saya harap artikel ini dapat membantu anda memahami cara menggunakan API JS dan Amap untuk melaksanakan fungsi carian di sekitar lokasi. 🎜

Atas ialah kandungan terperinci Cara menggunakan JS dan Amap untuk melaksanakan fungsi carian di sekitar lokasi. 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