Rumah >pembangunan bahagian belakang >tutorial php >Cara menggunakan API Amap dalam php untuk melaksanakan carian lokasi peta

Cara menggunakan API Amap dalam php untuk melaksanakan carian lokasi peta

PHPz
PHPzasal
2023-07-29 22:19:451876semak imbas

Cara menggunakan API Amap dalam PHP untuk melaksanakan carian lokasi peta

Dalam beberapa tahun kebelakangan ini, dengan perkembangan pesat Internet, aplikasi peta telah menjadi bahagian yang amat diperlukan dalam kehidupan orang ramai. Sebagai aplikasi peta terkemuka di China, Amap mempunyai fungsi peta yang berkuasa dan antara muka API yang kaya, menjadikannya pilihan peta kegemaran ramai pembangun. Artikel ini akan memperkenalkan cara menggunakan bahasa PHP dan menggabungkannya dengan API Amap untuk melaksanakan fungsi carian di sekitar lokasi peta pada halaman web.

1 Buat akaun pembangun AMAP

Mula-mula, kita perlu pergi ke [Amap Developer Platform](https://lbs.amap.com/dev/index) untuk mendaftar akaun pembangun dan Buat aplikasi baharu dan dapatkan kunci API untuk kegunaan seterusnya.

2. Perkenalkan API Peta Amap

Perkenalkan fail perpustakaan Javascript API Peta Amap di kepala fail php. Kod khusus adalah seperti berikut:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>地点周边搜索</title>
  <script src="https://webapi.amap.com/maps?v=1.4.15&key=您的API Key"></script>
</head>
<body>
  <div id="map" style="width: 800px; height: 600px;"></div>
</body>
</html>

3 Cipta objek peta

Tambah kod Javascript berikut dalam kod php untuk mencipta objek peta dan paparkan peta dalam bekas yang ditentukan.

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

Dalam kod, kami menentukan elemen div dengan peta id sebagai bekas untuk paparan peta, dan menetapkan tahap zum dan koordinat titik tengah. Parameter ini boleh dilaraskan mengikut keperluan sebenar.

4. Tambahkan fungsi carian di sekitar tempat

Berikut ialah contoh kod untuk melaksanakan fungsi carian di sekitar tempat pada peta.

<script>
  // 创建一个自定义的搜索控件
  var searchMarker = new AMap.Marker({
    icon: "https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png", // 搜索结果标记图标
    position: [116.397, 39.907] // 搜索结果坐标
  });

  // 添加搜索结果标记到地图上
  map.add(searchMarker);

  // 监听点击地图事件,获取点击坐标
  map.on('click', function(e) {
    var lnglat = e.lnglat; // 获取点击坐标
    var keyword = '餐厅'; // 设置搜索关键词
    var radius = 1000; // 设置搜索半径

    // 使用高德地图的PlaceSearch插件进行地点搜索
    var placeSearch = new AMap.PlaceSearch({
      city: '北京', // 指定搜索的城市
      map: map // 将搜索结果显示在地图上
    });

    // 在指定坐标周边搜索相关地点
    placeSearch.searchNearBy(keyword, lnglat, radius, function(status, result) {
      if (status === 'complete') {
        // 循环遍历搜索结果,将结果标记到地图上
        for (var i = 0; i < result.poiList.pois.length; i++) {
          var poi = result.poiList.pois[i];
          var marker = new AMap.Marker({
            position: poi.location,
            title: poi.name
          });
          marker.setMap(map);
        }
      }
    });
  });
</script>

Dalam kod, kami mula-mula membuat kawalan carian tersuai dan menentukan ikon penanda dan koordinat hasil carian. Kemudian, dengan mendengar acara klik pada peta, koordinat klik diperoleh dan pemalam PlaceSearch Amap dipanggil untuk menjalankan carian di sekitar lokasi. Hasil carian dipaparkan sebagai penanda pada peta.

Perlu diingat bahawa parameter dalam kod boleh dilaraskan mengikut keperluan sebenar, seperti kata kunci carian, jejari carian, bandar, dll.

Melalui langkah di atas, kita boleh menggunakan API Amap dalam fail php untuk melaksanakan fungsi carian lokasi di sekitar peta. Dengan cara ini, pengguna boleh menggunakan halaman web yang kami bangunkan untuk mencari tempat menarik pada peta dengan mudah.

Atas ialah kandungan terperinci Cara menggunakan API Amap dalam php untuk melaksanakan carian lokasi peta. 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