Create a custom information window using PHP and Amap API

WBOY
Release: 2023-07-29 15:22:01
Original
906 people have browsed it

Use PHP and Amap API to create custom information windows

In modern society, map applications have become an indispensable part of people's lives. The Amap API provides rich functions. It can not only display the map, but also add customized information windows on the map. This article will introduce how to use PHP and Amap API to create a custom information window, and provide corresponding code examples.

First, we need to prepare a simple PHP file to handle interaction with the Amap API. The following is a simple sample code:

<?php
if(isset($_GET['longitude']) && isset($_GET['latitude'])){
    $longitude = $_GET['longitude'];
    $latitude = $_GET['latitude'];
    
    // 调用高德地图API获取地理位置信息
    $url = "https://restapi.amap.com/v3/geocode/regeo?location=".$longitude.",".$latitude."&key=YOUR_AMAP_API_KEY";
    $response = file_get_contents($url);
    
    // 输出地理位置信息
    echo $response;
}
?>
Copy after login

In the above code, we first check whether the longitude (longitude) and latitude (latitude) parameters are received. Then, we use these parameters to call the Amap API to obtain geographical location information and output the results.

Next, we need to use JavaScript and Amap API on the front-end page to create a custom information window. The following is a simple sample code:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>自定义信息窗口</title>
    <style>
        #map {
            width: 100%;
            height: 500px;
        }
    </style>
</head>
<body>
    <div id="map"></div>

    <script src="https://webapi.amap.com/maps?v=1.4.15&key=YOUR_AMAP_API_KEY"></script>
    <script>
        // 创建地图
        var map = new AMap.Map('map', {
            center: [116.397428, 39.90923],
            zoom: 13
        });

        // 添加点击事件,获取经纬度
        map.on('click', function(e) {
            var longitude = e.lnglat.getLng();
            var latitude = e.lnglat.getLat();
            
            // 发送请求到PHP文件处理
            var xmlhttp = new XMLHttpRequest();
            xmlhttp.onreadystatechange = function() {
                if (this.readyState == 4 && this.status == 200) {
                    // 处理返回的地理位置信息
                    var result = JSON.parse(this.responseText);
                    var address = result.regeocode.formatted_address;
                    
                    // 创建自定义信息窗口
                    var infoWindow = new AMap.InfoWindow({
                        content: address,
                        offset: new AMap.Pixel(0, -30)
                    });
                    
                    // 在地图上显示信息窗口
                    infoWindow.open(map, e.lnglat);
                }
            };
            xmlhttp.open("GET", "process.php?longitude=" + longitude + "&latitude=" + latitude, true);
            xmlhttp.send();
        });
    </script>
</body>
</html>
Copy after login

In the above code, we first create a map container and use JavaScript to introduce the Amap API. We then created a map object and set the default center position and zoom level.

Next, we added a click event listener to the map object. When the user clicks on the map, the latitude and longitude of the clicked location will be obtained and a request will be sent to the processing PHP file we created previously. The PHP file will call the Amap API to obtain geographical location information and return the results to the front-end page.

Finally, after obtaining the geographical location information, we use the AMap.InfoWindow object to create a custom information window and display it on the map.

The above are the steps and sample code for creating a custom information window using PHP and Amap API. By using this code, we can display a custom information window on the map, providing a richer map application experience. Hope this article helps you!

The above is the detailed content of Create a custom information window using PHP and Amap API. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!