Maison  >  Article  >  développement back-end  >  Créer une navigation par emplacement sur carte à l'aide de PHP et de l'API Amap

Créer une navigation par emplacement sur carte à l'aide de PHP et de l'API Amap

王林
王林original
2023-07-31 17:29:12946parcourir

Utilisez PHP et l'API Amap pour créer une navigation par localisation cartographique

Avec le développement rapide de l'Internet mobile, la navigation cartographique est devenue un élément indispensable de notre vie quotidienne. Que ce soit en voyage, en voyage ou à la recherche de magasins et de restaurants à proximité, la navigation cartographique peut nous aider à trouver rapidement notre destination. Dans cet article, nous présenterons comment utiliser PHP et l'API Amap pour créer la fonction de navigation de localisation d'une carte.

Tout d'abord, nous devons comprendre l'utilisation de base de l'API Amap Map. L'API Amap fournit des interfaces fonctionnelles riches, notamment le géocodage, la planification d'itinéraire, la recherche de POI, etc. Dans cet article, nous utiliserons l'interface de géocodage et l'interface de routage pour implémenter la fonctionnalité de navigation par lieu.

Tout d'abord, nous devons enregistrer un compte développeur sur la plateforme ouverte Amap et créer une application. Après une inscription réussie, vous pouvez obtenir une clé API, qui sera utilisée pour vous connecter à l'API Amap.

Ensuite, nous écrivons une simple page Web via PHP pour implémenter la fonction de navigation de localisation. Tout d'abord, créez un fichier appelé "index.php" et ajoutez le code suivant :

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>地点导航</title>
    <script src="https://webapi.amap.com/maps?v=1.4.15"></script>
    <style>
        #map {
            width: 100%;
            height: 500px;
        }
    </style>
</head>
<body>
    <div id="map"></div>

    <script>
        // 设置地图容器
        var map = new AMap.Map('map', {
            zoom: 12, // 设置地图缩放级别
            center: [116.397428, 39.90923] // 设置地图中心点坐标
        });

        // 地址解析器
        var geocoder = new AMap.Geocoder({});

        // 地理编码
        var address = "北京市朝阳区建国门外大街1号"; // 设定需要查询的地址
        geocoder.getLocation(address, function(status, result) {
            if (status === 'complete' && result.info === 'OK') {
                var location = result.geocodes[0].location; // 获取查询地址的经纬度
                var marker = new AMap.Marker({
                    position: location, // 设定标记点位置
                    map: map // 在地图上添加标记点
                });

                map.setCenter(location); // 将地图中心点设置为查询地址的位置
            }
        });

        // 路线规划
        var startPoint = [116.397428, 39.90923]; // 起点坐标
        var endPoint = [116.327158, 39.990912]; // 终点坐标
        var driving = new AMap.Driving({
            map: map, // 在地图上绘制导航路线
            panel: "panel" // 导航结果展示面板
        });
        driving.search(startPoint, endPoint); // 开始导航搜索

    </script>
</body>
</html>

Le code ci-dessus crée une page Web simple contenant un conteneur de carte et quelques scripts JavaScript. En JavaScript, nous avons d'abord défini le niveau de zoom et le point central de la carte, puis créé un géocodeur et un géocodeur. Ensuite, nous obtenons la latitude et la longitude de l’adresse de la requête via le géocodeur et ajoutons un point marqueur sur la carte. Enfin, nous avons tracé l'itinéraire de navigation à l'aide du planificateur d'itinéraire et l'avons affiché sur la carte.

Avec le code ci-dessus, nous pouvons implémenter une fonction de navigation de localisation simple. Les utilisateurs n'ont qu'à saisir l'adresse qu'ils doivent interroger, et l'emplacement et l'itinéraire de navigation correspondants seront affichés sur la carte.

En résumé, il est très simple d'utiliser PHP et l'API Amap pour créer la fonction de navigation de localisation de la carte. Il nous suffit d'obtenir la latitude et la longitude de l'adresse de la requête via le géocodeur et d'utiliser le planificateur d'itinéraire pour tracer l'itinéraire de navigation. Dans le même temps, nous pouvons également étendre et optimiser cette fonction en fonction de nos propres besoins et de notre logique métier pour la rendre plus pratique et plus puissante. J'espère que cet article 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!

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