Maison > développement back-end > tutoriel php > Tutoriel sur la mise en œuvre de la fonction de recherche de localisation à l'aide de PHP et de l'API Baidu Map

Tutoriel sur la mise en œuvre de la fonction de recherche de localisation à l'aide de PHP et de l'API Baidu Map

PHPz
Libérer: 2023-07-29 15:30:01
original
1716 Les gens l'ont consulté

Tutoriel sur l'utilisation de PHP et de l'API Baidu Map pour implémenter la fonction de recherche de localisation

Avec le développement d'Internet, les applications cartographiques sont devenues un élément indispensable de la vie quotidienne des gens. Baidu Maps est l'un des services de cartographie les plus couramment utilisés en Chine. Il fournit une API riche pour permettre aux développeurs de développer des fonctions liées aux cartes. Dans ce didacticiel, nous utiliserons PHP et l'API Baidu Map pour implémenter la fonction de recherche de localisation.

Étape 1 : Demander une clé API Baidu Map
Tout d'abord, nous devons demander une clé API sur la plateforme ouverte Baidu Map. Visitez l'URL de la plateforme ouverte Baidu Map (http://lbsyun.baidu.com/), inscrivez-vous et connectez-vous. Après vous être connecté, entrez dans la « Console », sélectionnez « Créer une application » et remplissez le nom de l'application, le type d'application, l'adresse de rappel et d'autres informations pertinentes. Une fois la création terminée, vous pouvez visualiser l'application nouvellement créée sur la page « Mes applications » et obtenir la clé API.

Étape 2 : Introduire l'API Baidu Map
Dans l'environnement de développement PHP, nous devons introduire l'API Baidu Map dans le code. Tout d'abord, vous pouvez créer un dossier nommé « baiduMap » (vous pouvez le nommer selon vos préférences personnelles) dans le répertoire où se trouve le projet, puis télécharger le fichier JavaScript de l'API Baidu Map et le placer dans le dossier « baiduMap ». Utilisez le code suivant dans le fichier PHP pour introduire l'API Baidu Map :

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>地点搜索</title>
    <script type="text/javascript" src="baiduMap/bmap.js"></script>
  </head>
  <body>
  </body>
</html>
Copier après la connexion

Veuillez vous assurer de placer le code ci-dessus dans la balise

Étape 3 : Rédiger un formulaire de recherche de localisation
Ensuite, nous devons rédiger un formulaire de recherche de localisation sur la page pour permettre aux utilisateurs de saisir le contenu de la recherche. Vous pouvez ajouter le code suivant dans la balise  :

<h2>地点搜索</h2>
<form action="" method="POST">
  <input type="text" name="keyword" placeholder="请输入要搜索的地点">
  <input type="submit" value="搜索">
</form>
Copier après la connexion

Le code ci-dessus affichera un formulaire simple contenant un champ de recherche et un bouton de recherche sur la page.

Étape 4 : Traiter la saisie de l'utilisateur
Lorsque l'utilisateur clique sur le bouton de recherche, nous devons traiter le contenu de recherche saisi par l'utilisateur. Dans le fichier PHP, utilisez le code suivant pour obtenir les données du formulaire :

<?php
if(isset($_POST['keyword']) && !empty($_POST['keyword'])){
  $keyword = $_POST['keyword'];
}
?>
Copier après la connexion

Le code ci-dessus vérifiera s'il y a du contenu saisi dans le formulaire, et s'il existe et n'est pas vide, les données seront stockées dans la variable $ mot-clé.

Étape 5 : Appelez l'API Baidu Map pour effectuer une recherche
Après avoir obtenu le contenu de recherche saisi par l'utilisateur, nous utiliserons l'API Baidu Map pour effectuer une recherche de localisation. Dans le fichier PHP, utilisez le code suivant pour appeler l'API pour rechercher :

<?php
if(isset($_POST['keyword']) && !empty($_POST['keyword'])){
  $keyword = $_POST['keyword'];
  
  $url = "http://api.map.baidu.com/place/v2/search?query=".$keyword."&region=全国&output=json&ak=YOUR_API_KEY";
  
  $result = file_get_contents($url);
  
  $data = json_decode($result, true);
  
  // 显示搜索结果
  foreach($data['results'] as $item){
    echo $item['name']."<br>";
  }
}
?>
Copier après la connexion

Le code ci-dessus ajoute le contenu de recherche saisi par l'utilisateur à l'URL de la requête API et utilise la fonction file_get_contents() pour obtenir les résultats renvoyés. Ensuite, les résultats renvoyés sont analysés au format tableau et les résultats de la recherche sont affichés en boucle.

Veuillez noter que YOUR_API_KEY dans le code ci-dessus doit être remplacé par la clé API que vous avez demandée à l'étape 1.

Étape 6 : Exemple de code PHP complet
Voici l'exemple de code complet de l'intégralité du fichier PHP :

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>地点搜索</title>
    <script type="text/javascript" src="baiduMap/bmap.js"></script>
  </head>
  <body>
    <h2>地点搜索</h2>
    <form action="" method="POST">
      <input type="text" name="keyword" placeholder="请输入要搜索的地点">
      <input type="submit" value="搜索">
    </form>
    
    <?php
    if(isset($_POST['keyword']) && !empty($_POST['keyword'])){
      $keyword = $_POST['keyword'];
      
      $url = "http://api.map.baidu.com/place/v2/search?query=".$keyword."&region=全国&output=json&ak=YOUR_API_KEY";
      
      $result = file_get_contents($url);
      
      $data = json_decode($result, true);
      
      // 显示搜索结果
      foreach($data['results'] as $item){
        echo $item['name']."<br>";
      }
    }
    ?>
  </body>
</html>
Copier après la connexion

Veuillez vous assurer de remplacer YOUR_API_KEY dans le code par la clé API que vous avez demandée à l'étape 1.

À l'aide du didacticiel ci-dessus, nous pouvons facilement utiliser PHP et l'API Baidu Map pour implémenter la fonction de recherche de localisation. Vous pouvez également étendre davantage le code en fonction de vos propres besoins, ajouter plus de fonctions cartographiques et offrir une meilleure expérience utilisateur. J'espère que ce tutoriel vous aidera !

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal