Maison  >  Article  >  interface Web  >  Comment utiliser JS et Baidu Maps pour implémenter la fonction de recherche de saisie semi-automatique de carte

Comment utiliser JS et Baidu Maps pour implémenter la fonction de recherche de saisie semi-automatique de carte

WBOY
WBOYoriginal
2023-11-21 13:58:291255parcourir

Comment utiliser JS et Baidu Maps pour implémenter la fonction de recherche de saisie semi-automatique de carte

Comment utiliser JS et Baidu Maps pour implémenter la fonction de recherche de saisie semi-automatique de carte

Tout d'abord, nous devons comprendre ce qu'est la fonction de recherche de saisie semi-automatique de carte. La recherche automatique de carte est une méthode dans laquelle, une fois que l'utilisateur a saisi des mots-clés dans la zone de saisie, la carte affichera automatiquement les résultats de recherche pertinents en fonction des mots-clés saisis par l'utilisateur. Cette fonction est très courante dans diverses applications cartographiques, telles que la recherche de lieux, la recherche d'itinéraires, etc.

Pour utiliser JS et Baidu Maps pour implémenter la fonction de recherche de saisie semi-automatique de carte, nous avons besoin de plusieurs étapes. Ci-dessous, je détaillerai chaque étape et fournirai des exemples de code correspondants. Dans cet article, je suppose que vous possédez déjà des connaissances de base en JS et HTML.

Étape 1 : Introduire l'API Baidu Map
Tout d'abord, nous devons introduire l'API Baidu Map dans le fichier HTML. Demandez une clé API sur la plateforme ouverte Baidu Map et remplacez la clé par « yourAPIKey » dans le code.

<head>
    <script src="http://api.map.baidu.com/api?v=2.0&ak=yourAPIKey"></script>
</head>

Étape 2 : Créer un conteneur de carte
Créez un conteneur dans le fichier HTML pour héberger la carte. Pour plus de commodité, nous donnons à ce conteneur une largeur et une hauteur fixes.

<div id="map" style="width: 800px; height: 600px;"></div>

Étape 3 : Initialiser la carte
Dans JS, utilisez l'API de Baidu Map pour initialiser la carte. Vous devez spécifier l'objet conteneur de la carte et le style de la carte.

var map = new BMap.Map("map");
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);

Étape 4 : Créez un champ de recherche à saisie semi-automatique
Créez un champ de saisie dans le fichier HTML pour que les utilisateurs puissent saisir des mots-clés. Vous devez spécifier un ID pour la zone de saisie pour obtenir la valeur de la zone de saisie dans JS.

<input type="text" id="keyword" />

Étape 5 : Écrivez le code JS
Dans JS, écrivez le code pour implémenter la fonction de recherche de saisie semi-automatique de la carte. Le code appellera l'API de Baidu Map pour obtenir des emplacements pertinents en fonction des mots-clés saisis par l'utilisateur et les affichera sur la carte.

var keywordInput = document.getElementById("keyword");
var autoComplete = new BMap.Autocomplete({
    input: keywordInput,
    location: map
});

autoComplete.addEventListener("onconfirm", function (e) {
    var _value = e.item.value;
    var myValue = _value.province + _value.city + _value.district + _value.street + _value.business;

    var options = {
        onSearchComplete: function (results) {
            // 获取第一个搜索结果,并将地图移动到该位置
            var poi = results.getPoi(0);
            map.setCenter(poi.point);
        }
    };

    // 在地图上显示搜索结果
    var local = new BMap.LocalSearch(map, options);
    local.search(myValue);
});

Ce qui précède est un exemple de code utilisant JS et Baidu Maps pour implémenter la fonction de recherche de saisie semi-automatique de carte. Vous pouvez copier ces codes dans votre projet et les modifier et optimiser selon vos besoins. J'espère que cet article vous sera utile.

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