Erstellen Sie eine Kartenroutenplanung mit PHP und Amap API

PHPz
Freigeben: 2023-07-29 19:20:02
Original
1862 Leute haben es durchsucht

Verwenden Sie PHP und Amap API, um eine Kartenroutenplanung zu erstellen

Einführung: Mit der Entwicklung des Internets und mobiler Geräte sind Kartenanwendungen zu einem unverzichtbaren Bestandteil des Lebens der Menschen geworden. Als führender Kartendienstanbieter in China bietet Amap eine umfangreiche API-Schnittstelle, um Entwicklern die Integration von Kartenfunktionen in ihre Anwendungen zu erleichtern. In diesem Artikel verwenden wir PHP als Beispiel, um vorzustellen, wie die Amap-API zum Erstellen der Routenplanungsfunktion der Karte verwendet wird.

  1. Vorbereitung

Bevor wir beginnen, müssen wir Folgendes vorbereiten:

  • Ein Server oder lokaler Computer, der mit einer PHP-Umgebung ausgestattet ist
  • Amap-Entwicklerkonto, Sie können es auf der offenen Amap-Plattform beantragen
  • PHP Entwicklungstools wie Sublime Text, PHPStorm usw.
  1. Einführung der API

Zunächst müssen wir am Anfang der PHP-Datei die Amap-API einführen. Es kann auf folgende Weise eingeführt werden:

<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=您的API_KEY"></script>
Nach dem Login kopieren

Unter anderem müssen Sie „Ihren API_KEY“ durch den API-Schlüssel ersetzen, den Sie auf der offenen Amap-Plattform beantragt haben.

  1. Erstellen Sie einen Kartencontainer

Als nächstes müssen wir einen Container in HTML für die Anzeige der Karte erstellen. Ein DIV-Element kann mit dem folgenden Code als Kartencontainer erstellt werden:

<div id="mapContainer" style="width: 100%; height: 500px;"></div>
Nach dem Login kopieren

In CSS können wir die Breite und Höhe des Kartencontainers festlegen. Hier wird die Breite auf 100 % und die Höhe auf 500 Pixel eingestellt.

  1. Karte initialisieren

In PHP können wir den folgenden Code verwenden, um die Karte zu initialisieren:

<script type="text/javascript">
    var map = new AMap.Map("mapContainer", {
        zoom: 15, // 地图缩放级别
        center: [116.397428, 39.90923] // 地图中心点坐标
    });
</script>
Nach dem Login kopieren

Im obigen Code erstellen wir eine neue Karteninstanz über die AMap.Map()-Methode und rendern sie in In das DIV-Element, dessen ID „mapContainer“ ist. Die Zoomstufe der Karte ist auf 15 eingestellt und die Mittelpunktkoordinaten sind [116,397428, 39,90923].

  1. Start- und Endpunkte hinzufügen

Bevor wir die Route planen, müssen wir Start- und Endpunktmarkierungen auf der Karte hinzufügen. Das Folgende ist ein Beispielcode:

<script type="text/javascript">
    var startPoint = new AMap.Marker({
        position: [116.407394, 39.904211], // 起点坐标
        title: '起点'
    });

    var endPoint = new AMap.Marker({
        position: [116.412416, 39.896366], // 终点坐标
        title: '终点'
    });

    map.add([startPoint, endPoint]);
</script>
Nach dem Login kopieren

Im obigen Code verwenden wir die AMap.Marker()-Methode, um die Marker-Objekte des Startpunkts und des Endpunkts zu erstellen und ihre Positions- und Titelinformationen festzulegen. Abschließend fügen wir der Karte mit der Methode map.add() die Start- und Endpunkte hinzu.

  1. Routenplanung

Abschließend nutzen wir die Routenplanungs-API von Amap, um die geplante Route zwischen Startpunkt und Ziel zu erhalten. Das Folgende ist ein Beispielcode:

<script type="text/javascript">
    var driving = new AMap.Driving({
        policy: AMap.DrivingPolicy.LEAST_TIME // 规划策略(最短时间)
    });

    driving.search(new AMap.LngLat(116.407394, 39.904211), new AMap.LngLat(116.412416, 39.896366), function(status, result) {
        if (status === 'complete' && result.info === 'OK') {
            var route = result.routes[0];
            var path = [];
            
            // 遍历路线上的每个步骤
            for (var i = 0, l = route.steps.length; i < l; i++) {
                var step = route.steps[i];
                path.push(step.path);
            }

            var polyline = new AMap.Polyline({
                path: path,
                strokeColor: '#00FF00',
                strokeWeight: 4,
                strokeOpacity: 1
            });

            map.add(polyline);
        }
    });
</script>
Nach dem Login kopieren

Im obigen Code verwenden wir die Methode AMap.Driving(), um eine Fahrtroutenplanungsinstanz zu erstellen und die Planungsstrategie auf die kürzeste Zeit festzulegen. Als nächstes verwenden wir die Methode „driving.search()“, um die geplante Route zwischen dem Startpunkt und dem Endpunkt abzufragen, und übergeben die Rückruffunktion, um die zurückgegebenen Ergebnisse zu verarbeiten. In der Callback-Funktion können wir jeden Schritt auf der Route durchlaufen und ihn zur Karte hinzufügen. Schließlich verwenden wir die Methode AMap.Polyline(), um ein Polylinienobjekt zu erstellen, legen seine Eigenschaften wie Pfad, Farbe und Linienbreite fest und fügen es dann über die Methode map.add() zur Karte hinzu.

Zusammenfassung:

Das Obige ist ein einfaches Beispiel für die Routenplanung mit PHP und der Amap-API zum Erstellen einer Karte. Anhand dieses Beispiels können wir lernen, wie man die API einführt, einen Kartencontainer erstellt, die Karte initialisiert, einen Startpunkt und einen Endpunkt hinzufügt und grundlegende Vorgänge wie die Routenplanung durchführt. Ich glaube, dass wir in der tatsächlichen Entwicklung entsprechend den spezifischen Anforderungen und der Geschäftslogik erweitern und anpassen können, um personalisiertere Kartenfunktionen zu erreichen. Ich hoffe, dieser Artikel ist hilfreich für Sie, vielen Dank fürs Lesen!

Das obige ist der detaillierte Inhalt vonErstellen Sie eine Kartenroutenplanung mit PHP und Amap API. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage