Maison > développement back-end > tutoriel php > Utilisation de l'API Baidu Map pour obtenir un stockage persistant des informations de localisation géographique en PHP

Utilisation de l'API Baidu Map pour obtenir un stockage persistant des informations de localisation géographique en PHP

WBOY
Libérer: 2023-08-01 14:10:01
original
1373 Les gens l'ont consulté

Utilisez l'API Baidu Map pour obtenir un stockage persistant des informations de localisation géographique en PHP

Introduction : les informations de localisation géographique jouent un rôle important dans de nombreuses applications, et des informations de localisation géographique riches peuvent être obtenues via l'API Baidu Map. Cet article explique comment utiliser PHP pour obtenir un stockage persistant d'informations de localisation géographique et obtenir des informations de localisation géographique via l'API Baidu Map.

1. Introduction à l'API Baidu Map

L'API Baidu Map est un ensemble d'interfaces d'application réseau basées sur Baidu Map, qui fournit une multitude de services de cartographie. Grâce à cette interface, nous pouvons obtenir la latitude et la longitude, les informations de géocodage, les informations de géocodage inversé, etc. d'un certain emplacement.

2. Préparation

Avant de commencer, nous devons préparer le travail suivant :

  1. Enregistrer un compte API Baidu Map et obtenir une clé de développeur.
  2. Créez un environnement PHP localement.

3. Obtention des informations de localisation géographique

Tout d'abord, nous devons obtenir les informations de localisation géographique de l'utilisateur. Ici, nous prenons comme exemple l’obtention d’informations de géocodage (c’est-à-dire la conversion d’adresses en latitude et longitude).

Exemple de code PHP :

<?php
 
// 用户输入的地址
$address = $_POST['address'];

// 百度地图API的请求地址
$url = "http://api.map.baidu.com/geocoding/v3/?address=" . urlencode($address) . "&output=json&ak=YOUR_AK";

// 发送HTTP请求获取地理编码信息
$response = file_get_contents($url);
$result = json_decode($response, true);

// 获取经纬度
$lng = $result['result']['location']['lng'];
$lat = $result['result']['location']['lat'];

// 输出经纬度
echo "经度: " . $lng . "<br/>";
echo "纬度: " . $lat . "<br/>";

?>
Copier après la connexion

Dans le code ci-dessus, nous obtenons d'abord l'adresse saisie par l'utilisateur via la méthode POST et épissonnons l'adresse de demande de l'API Baidu Map. Ensuite, envoyez une requête HTTP pour obtenir les informations de géocodage et obtenez les informations de longitude et de latitude à partir du résultat renvoyé.

4. Stockage persistant des informations de localisation géographique

Ensuite, nous stockerons de manière persistante les informations de localisation géographique obtenues. Ici, nous choisissons d'utiliser une base de données MySQL pour le stockage.

Tout d'abord, nous devons créer une table de stockage des informations de géolocalisation. La structure du tableau est la suivante :

CREATE TABLE `locations` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `address` varchar(255) NOT NULL,
  `lng` decimal(10,6) NOT NULL,
  `lat` decimal(10,6) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Copier après la connexion

Ensuite, modifiez le code PHP précédent pour stocker les informations de localisation géographique obtenues dans la base de données.

Exemple de code PHP :

<?php
 
// 用户输入的地址
$address = $_POST['address'];

// 百度地图API的请求地址
$url = "http://api.map.baidu.com/geocoding/v3/?address=" . urlencode($address) . "&output=json&ak=YOUR_AK";

// 发送HTTP请求获取地理编码信息
$response = file_get_contents($url);
$result = json_decode($response, true);

// 获取经纬度
$lng = $result['result']['location']['lng'];
$lat = $result['result']['location']['lat'];

// 将地理位置信息存储到数据库中
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "dbname";

// 创建数据库连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接是否成功
if ($conn->connect_error) {
    die("数据库连接失败: " . $conn->connect_error);
}

// 将地理位置信息插入到数据库中
$sql = "INSERT INTO locations (address, lng, lat) VALUES ('$address', '$lng', '$lat')";

if ($conn->query($sql) === TRUE) {
    echo "地理位置信息存储成功";
} else {
    echo "地理位置信息存储失败: " . $conn->error;
}

// 关闭数据库连接
$conn->close();

?>
Copier après la connexion

Dans le code ci-dessus, nous créons d'abord une connexion à la base de données, puis insérons les informations de géolocalisation dans la locations table de la base de données. Une fois l'insertion réussie, une invite indiquant un stockage réussi est émise.

5. Résumé

Grâce à l'introduction de cet article, nous avons appris à utiliser PHP et l'API Baidu Map pour obtenir un stockage persistant des informations de localisation géographique. Nous obtenons l'adresse saisie par l'utilisateur, obtenons les informations de géocodage via l'API Baidu Map et enfin stockons les informations de géolocalisation dans la base de données MySQL. Grâce à cette méthode, nous pouvons facilement obtenir et stocker des informations de localisation géographique, les appeler et les traiter en cas de besoin.

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