Maison  >  Article  >  interface Web  >  Comment utiliser JS et Amap pour implémenter la fonction de recherche autour d'un emplacement

Comment utiliser JS et Amap pour implémenter la fonction de recherche autour d'un emplacement

WBOY
WBOYoriginal
2023-11-21 08:26:341136parcourir

Comment utiliser JS et Amap pour implémenter la fonction de recherche autour dun emplacement

Comment utiliser JS et Amap pour implémenter la fonction de recherche de localisation

Introduction :
Dans la société numérique d'aujourd'hui, de nombreuses applications doivent utiliser des cartes pour fournir des fonctions telles que le positionnement et la navigation. Amap est l'un des fournisseurs de services cartographiques les plus connus et les plus puissants en Chine. Cet article expliquera comment utiliser JS et l'API Amap pour implémenter la fonction de recherche de localisation et fournira des exemples de code spécifiques.

1. Préparation

  1. Obtenir un compte développeur Amap
    Avant de commencer, vous devez enregistrer un compte développeur Amap et obtenir une clé de développeur. Grâce à cette clé, nous pouvons utiliser les fonctions API d'Amap.
  2. Introduisez l'API Amap
    Introduisez le fichier de bibliothèque JS de l'Amap dans la page, le code est le suivant :

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

    Parmi eux, yourKey est votre clé de développeur. 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. Implémentez la fonction de recherche autour de l'emplacement

Ensuite, nous utiliserons JS et l'API Amap pour implémenter la fonction de recherche autour de l'emplacement.


Créer une instance de carte🎜Tout d'abord, créez un conteneur dans la page pour afficher la carte. Le code est le suivant : 🎜rrreee🎜 Ensuite, créez une instance de carte dans le code JS, le code est le suivant : 🎜rrreee🎜 Dans le code ci-dessus, nous définissons le niveau de zoom de la carte sur 14, et définissons le point central coordonnées de la carte à [116.397428, 39.90923 ] (Coordonnées de la ville de Pékin). 🎜🎜🎜🎜Ajouter un marqueur de localisation🎜Avant d'implémenter la fonction de recherche autour de l'emplacement, nous devons ajouter un marqueur sur la carte pour représenter l'emplacement actuel. Le code est le suivant : 🎜rrreee🎜Dans le code ci-dessus, nous définissons les coordonnées de position du marqueur sur [116.397428, 39.90923] et ajoutons le marqueur à l'instance de carte précédemment créée. 🎜🎜🎜🎜Réaliser la recherche autour de l'emplacement🎜Ensuite, nous utiliserons la fonction de recherche de POI d'Amap pour mettre en œuvre la recherche autour de l'emplacement. Le code est le suivant : 🎜rrreee🎜Dans le code ci-dessus, nous créons un objet de recherche de POI et définissons le nombre de résultats affichés sur chaque page, le numéro de la page actuelle, la ville recherchée et la plage de résultats est limitée à la ville actuelle. . Ensuite, nous appelons la méthode searchNearBy pour effectuer la recherche, où le paramètre 'restaurant' représente le mot-clé de recherche, et [116.397428, 39.90923] représente le centre de la recherche, 1000 représente le rayon de recherche (l'unité est le mètre). 🎜🎜🎜🎜Une fois la recherche terminée, les résultats de la recherche sont traités via la fonction de rappel. Nous pouvons obtenir le nom et l’adresse de chaque emplacement à partir des résultats et les traiter davantage. 🎜🎜Conclusion : 🎜En utilisant JS et l'API Amap, nous pouvons facilement implémenter la fonction de recherche autour de l'emplacement. Dans les applications pratiques, des paramètres tels que les mots-clés de recherche, les coordonnées du centre de recherche et la plage de recherche peuvent être ajustés en fonction des besoins spécifiques de l'entreprise. J'espère que cet article pourra vous aider à comprendre comment utiliser JS et l'API Amap pour implémenter la fonction de recherche autour de l'emplacement. 🎜

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