Home > Article > Backend Development > Using Baidu Map API to realize dynamic display of geographical location information in PHP
Using Baidu Map API in PHP to realize dynamic display of geographical location information
Introduction:
With the continuous development of Internet technology, the application of geographical location information has become more and more extensive. In web development, how to dynamically display geographical location information has become a common requirement. This article will introduce how to use PHP and Baidu Map API to realize dynamic display of geographical location information, and give code examples.
1. Preparation work
Before starting development, we need to do some preparation work. First, you need to register an account on the Baidu Map open platform, create an application, and obtain an API key. Secondly, some data of geographical location information is required, such as longitude, latitude, name, etc. Finally, you need a server environment that can run PHP.
2. Introducing Baidu Map API
There are many ways to introduce Baidu Map API into PHP code. Here we choose to use JavaScript code to introduce it into the front-end page. First, add the following code to the head of the HTML page:
<script src="https://api.map.baidu.com/api?v=2.0&ak=你的API密钥"></script>
Among them, replace "your API key" with the API key you applied for on the Baidu Map Open Platform.
3. Create a map container
In the HTML page, we need to create a container for displaying the map. You can add a div element to the body and set an id:
<div id="map"></div>
4. Write PHP code
Next, we will obtain the data of geographical location information through PHP code and pass it to Display on the front-end page. First, create a PHP file named "getLocation.php". First, we need to connect to the database, query and obtain geographical location information data. The specific code is as follows:
<?php //连接数据库 $servername = "localhost"; $username = "your_username"; $password = "your_password"; $dbname = "your_database"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } //查询数据 $sql = "SELECT * FROM locations"; $result = $conn->query($sql); //将结果转换为JSON格式 $data = array(); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { $data[] = $row; } } $jsonData = json_encode($data); //输出JSON数据 header('Content-Type: application/json'); echo $jsonData; //关闭数据库连接 $conn->close(); ?>
In the above code, we assume that a table named "locations" already exists in the database, which contains data about geographical location information. You can modify the database connection configuration and query statements according to the actual situation.
5. Writing JavaScript code
In the front-end page, we need to write JavaScript code to obtain the geographical location information data returned by the PHP page through Ajax requests and display it on the map. The specific code is as follows:
<script> //使用Ajax请求获取地理位置信息数据 var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { var locations = JSON.parse(xhr.responseText); showMap(locations); } }; xhr.open("GET", "getLocation.php", true); xhr.send(); //在地图上展示地理位置信息 function showMap(locations) { var map = new BMap.Map("map"); var point = new BMap.Point(116.404, 39.915); //地图初始化的位置 map.centerAndZoom(point, 14); //初始化地图,设置缩放级别 map.enableScrollWheelZoom(); //允许滚轮缩放 //遍历地理位置信息数据,添加标记并标注名称 for (var i = 0; i < locations.length; i++) { var location = locations[i]; var pt = new BMap.Point(location.lng, location.lat); var marker = new BMap.Marker(pt); var label = new BMap.Label(location.name, {offset: new BMap.Size(20,-10)}); marker.setLabel(label); map.addOverlay(marker); } } </script>
In the above code, we use the Baidu Maps JavaScript API to operate the map. First, use the XMLHttpRequest object to send a GET request to the "getLocation.php" page, and convert the returned JSON data into a JavaScript object through the JSON.parse method. Next, in the showMap function, initialize the map and set the location and zoom level of the map center point. Then, iterate over the geolocation information data, add markers and name them on the map.
6. Test run
Save all the above codes and upload them to the server. Access the HTML page in a browser and you can see a map that dynamically displays geographical location information.
Conclusion:
This article introduces how to use PHP and Baidu Map API to achieve dynamic display of geographical location information. Through the cooperation of the front and back ends, we can easily obtain the data of geographical location information and mark and display it on the map. This method can be used in various application scenarios that need to display geographical location information, such as company distribution, store navigation, etc.
For code examples, please refer to the link below:
(example): [https://github.com/example/location-display](https://github.com/example/location-display)
The above is the detailed content of Using Baidu Map API to realize dynamic display of geographical location information in PHP. For more information, please follow other related articles on the PHP Chinese website!