Maison >développement back-end >tutoriel php >Comment utiliser l'API Amap en PHP pour implémenter la recherche d'emplacement sur carte

Comment utiliser l'API Amap en PHP pour implémenter la recherche d'emplacement sur carte

PHPz
PHPzoriginal
2023-07-29 22:19:451876parcourir

Comment utiliser l'API Amap en PHP pour implémenter la recherche de localisation sur carte

Ces dernières années, avec le développement rapide d'Internet, les applications cartographiques sont devenues un élément indispensable de la vie des gens. En tant que principale application cartographique de Chine, Amap dispose de fonctions cartographiques puissantes et d'interfaces API riches, ce qui en fait le choix cartographique préféré de nombreux développeurs. Cet article présentera comment utiliser le langage PHP et le combiner avec l'API Amap pour implémenter la fonction de recherche autour de l'emplacement de la carte dans la page Web.

1. Créez un compte développeur AMAP

Tout d'abord, nous devons nous rendre sur [Amap Developer Platform](https://lbs.amap.com/dev/index) pour enregistrer un compte développeur et créer une nouvelle application. et obtenez la clé API pour une utilisation ultérieure.

2. Présentez l'API Amap Map

Introduisez le fichier de bibliothèque Javascript de l'API Amap Map en tête du fichier php. Le code spécifique est le suivant :

<!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. Créer un objet cartographique

Ajoutez le code Javascript suivant dans le code php pour créer un objet cartographique et afficher la carte dans le conteneur spécifié.

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

Dans le code, nous spécifions un élément div avec l'id map comme conteneur pour l'affichage de la carte, et définissons le niveau de zoom et les coordonnées du point central. Ces paramètres peuvent être ajustés en fonction des besoins réels.

4. Ajoutez la fonction de recherche autour du lieu

Ce qui suit est un exemple de code pour implémenter la fonction de recherche autour du lieu sur la carte.

<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>

Dans le code, nous créons d'abord un contrôle de recherche personnalisé et spécifions l'icône du marqueur et les coordonnées des résultats de la recherche. Ensuite, en écoutant les événements de clic sur la carte, les coordonnées du clic sont obtenues et le plug-in PlaceSearch d'Amap est appelé pour effectuer une recherche autour de l'emplacement. Les résultats de la recherche sont affichés sous forme de marqueurs sur la carte.

Il est à noter que les paramètres du code peuvent être ajustés en fonction des besoins réels, tels que les mots-clés de recherche, le rayon de recherche, les villes, etc.

Grâce aux étapes ci-dessus, nous pouvons utiliser l'API Amap dans le fichier php pour implémenter la fonction de recherche d'emplacement autour de la carte. De cette manière, les utilisateurs peuvent utiliser la page Web que nous avons développée pour rechercher facilement des lieux d'intérêt sur la carte.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn