Methoden und Schritte für den Zugriff auf die Baidu Maps API mit JavaScript

Methoden und Schritte für den Zugriff auf die Baidu Maps API mit JavaScript

1. Baidu Map API-Zugriff

1. Suche in der Baidu Map-Entwicklungsplattform

2. Registrieren Sie ein Baidu-Konto

3. Loggen Sie sich ein und bewerben Sie sich als Entwickler

4. Wählen Sie die Konsole auf der Homepage der Baidu Map Development Platform aus und erstellen Sie eine Anwendung in der Konsole

bild.png

Nachdem Sie die Anwendung erstellt haben, können Sie sie in „Meine Anwendungen“ der Konsole sehen. Das Wichtigste ist AK, ein spezieller Schlüssel, der unserer Anwendung von Baidu Maps zugewiesen wird. Sie müssen den Schlüssel verwenden, um auf die Baidu Maps-API zuzugreifen.

bild.png

2. Verwenden der Baidu Map API in HTML

1. Führen Sie die Baidu-Map-JS-Datei in HTML ein

<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.0&type=webgl&ak=Ihr Schlüssel"></script>

Ersetzen Sie den Wert nach ak durch unseren eigenen geheimen Schlüssel.

2. Definieren Sie ein DIV auf der Webseite, um die Karte anzuzeigen

Das DIV, das die Karte anzeigt, muss ein ID-Attribut haben.

bild.png

3. Zeigen Sie die Karte auf der Webseite an

Grundlegende Schritte:

var map = new BMapGL.Map("container"); // Eine Karteninstanz erstellen var point = new BMapGL.Point(116.404, 39.915); // Punktkoordinaten nach Breiten- und Längengrad des geografischen Standorts erstellen map.centerAndZoom(point, 15); // Karte initialisieren, Mittelpunktkoordinaten und Kartenebene festlegen

Optionale Schritte:

map.centerAndZoom(point, 15); // Karte initialisieren, Mittelpunktkoordinaten und Kartenebene festlegenmap.enableScrollWheelZoom(true); // Mausradzoom aktivierenmap.setMapType(BMAP_EARTH_MAP); // Kartentyp auf Erdmodus einstellen

4. Optionale Steuerelemente hinzufügen

var scaleCtrl = new BMapGL.ScaleControl(); // Skalierungssteuerung hinzufügenmap.addControl(scaleCtrl);
var zoomCtrl = new BMapGL.ZoomControl(); // Zoom-Steuerung hinzufügenmap.addControl(zoomCtrl);
var cityCtrl = new BMapGL.CityListControl(); // Städteliste hinzufügen controlmap.addControl(cityCtrl);
var locationControl = new BMapGL.LocationControl(); // Positionierungssteuerung hinzufügenmap.addControl(locationControl);

5. Positionierungsfunktion

Baidu Maps unterstützt Browser- und IP-Positionierung. Wenn die Browser-Positionierung fehlschlägt, wird standardmäßig die IP-Positionierung verwendet. Die Browserortung ist genauer, während die IP-Ortung nur einen ungefähren Standort bestimmen kann.

Die integrierte Positionierungssteuerung von Baidu Maps verwendet keine IP-Positionierung

 // Aktuellen geografischen Standort abrufen und Kartenmittelpunkt zum Positionierungsort verschieben var geolocation = new BMapGL.Geolocation(); // Positionierungsobjekt erstellen geolocation.getCurrentPosition(function (r) { // Positionierungsfunktion über das Positionierungsobjekt aufrufen, der Callback-Funktionsparameter r stellt das Positionierungsergebnis dar if (this.getStatus() == BMAP_STATUS_SUCCESS) { // Wenn die Positionierung erfolgreich ist var mk = new BMapGL.Marker(r.point); // Markierung erstellen, r ist das Positionierungsergebnis, r.point ist der aktuelle Positionierungsort map.addOverlay(mk); // Markierungsobjekt zur Karte hinzufügen map.panTo(r.point); // Kartenmittelpunkt zum Positionierungsort verschieben // alert('Ihr Standort: ' + r.point.lng + ',' + r.point.lat);
  }
  anders {
    Warnung('fehlgeschlagen' + this.getStatus());
  }
});

6. Kartenmarkierungen hinzufügen

  //Klickereignis zur Karte hinzufügenmap.addEventListener("click",function(e){
  //Parametername e Map-Klick-Ereignisquelle //console.log(e.latlng.lng+","+e.latlng.lat);
  var mk = new BMapGL.Marker(e.latlng); //Markierung erstellen, r ist das Positionierungsergebnis, r.point ist der aktuelle Positionierungsort map.addOverlay(mk); //Markierungsobjekt zur Karte hinzufügen })

7. Klickereignisse zu Kartenmarkierungen hinzufügen

 //Klickereignis zur Karte hinzufügenmap.addEventListener("click",function(e){
  //Parametername e Map-Klick-Ereignisquelle //console.log(e.latlng.lng+","+e.latlng.lat);
  var mk = new BMapGL.Marker(e.latlng);//Erstelle einen Marker, r ist das Positionierungsergebnis, r.point ist der aktuelle Positionierungsortmk.addEventListener("click",function(){//Füge dem Marker ein Klickereignis hinzuconsole.log(this);//this bezieht sich auf den Marker//Da der Marker ein untergeordneter Tag des Kartenobjekts map ist, werden beim Klicken auf den Marker Blasen angezeigt und das Klickereignis der Karte wird ebenfalls ausgelöst//Du kannst die stopPropagation-Funktion des Ereignisquellobjekts verwenden, um nachfolgende Ereignisblasen zu organisierensevent.stopPropagation();
  });
  map.addOverlay(mk); //Füge das Markierungsobjekt zur Karte hinzu})

8. Informationsfenster hinzufügen

//Informationsfenster hinzufügen (gekapselte Funktion)
Funktion addInfoWindow(Inhalt,Punkt,Breite,Höhe,Titel) {
  //Erforderliche Parameter Inhalt und Punkt
  //Inhalt kann entweder Text oder eine Beschriftung sein //Punkt ist der Breiten- und Längengrad eines geografischen Ortes //Die folgenden drei Parameter sind optional var opts = {
    width: Breite, // Breite des Informationsfensters height: Höhe, // Höhe des Informationsfensters title: Titel // Titel des Informationsfensters}
  var infoWindow = new BMapGL.InfoWindow(content, opts); // Informationsfensterobjekt erstellen map.openInfoWindow(infoWindow, point); // Informationsfenster öffnen }

9. Pfadplanung

Routenplanung

//Fahrroutenplanungsobjekt //Dieses Objekt muss nach dem Laden der Karte erstellt werden. Normalerweise wird es nach dem Erstellen des Kartenobjekts map platziert. Und eine Webseite sollte nur einmal erstellt werden, sonst wird der zuletzt geplante Weg nicht gelöscht. driving = new BMapGL.DrivingRoute(map, { renderOptions: { map: map, autoViewport: true } });
//Verwende das Pfadplanungsobjekt, um die Route zu finden driving.clearResults(); //Lösche den letzten geplanten Pfad aus der Karte driving.search(startPoint, endPoint); //Starte die Pfadplanung, gib Start- und Endpunkt ein

Busroutenplanung

//Busroutenplanungsobjekt //Die Erstellung des Busroutenplanungsobjekts muss nach dem Laden der Karte erfolgen. Normalerweise wird es nach der Erstellung des Kartenobjekts map platziert. Und eine Webseite sollte nur einmal erstellt werden, sonst wird die letzte geplante Route nicht gelöscht. transit = new BMapGL.TransitRoute(map, {
  Renderoptionen: {Karte: Karte},
  onSearchComplete: Funktion (Ergebnisse) {
    wenn (transit.getStatus() != BMAP_STATUS_SUCCESS) {
      zurückkehren;
    }
    //alert(results.getNumPlans());//Gesamtzahl der Busplanungsschemata abrufen//Hier die HTML-Vorlage zur Anzeige der Busroutenplanung entwerfen var output = '';
    für(var i=0;i<results.getNumPlans();i++){
      var plan = Ergebnisse.getPlan(i);
      Ausgabe +='<div style="margin-top:5px; background-color:#CCC"><p>Gesamtdauer:'+plan.getDuration(true)+'</p>';//Zeit abrufenAusgabe += '<p>Gesamtentfernung:'+plan.getDistance(true)+'</p>'; //Entfernung abrufenAusgabe +=plan.getDescription(true)+"</div>";
    }
    $('#result').css('display', 'block'); //#result ist ein von uns selbst definiertes Div. Wir verstecken es durch absolute Positionierung. Die Pfadplanung wird erfolgreich angezeigt. $('#result').html(output); // Setze die zusammengestellte Pfadplanungs-HTML-Tag-Vorlage in das #result-Div ein, um sie anzuzeigen. },
});
transit.clearResults(); // Die letzte geplante Route löschen transit.search(startPoint, endPoint); // Busroutenplanung

10. Vorwärts- und Rückwärtsadressenauflösung

Standortsuche anhand von Längen- und Breitengrad

// Eine Geokodierungsinstanz erstellen var myGeo = new BMapGL.Geocoder();      
// Adressbeschreibung anhand der Koordinaten abrufen myGeo.getLocation(Längen- und Breitengradkoordinaten, function(result){
    //Funktion ist eine Rückruffunktion, die nur ausgeführt wird, nachdem bestimmte geografische Informationen gefunden wurden, wenn (Ergebnis){      
      Alarm (Ergebnis.Adresse);      
    }      
});

Abfragen von Breiten- und Längengradkoordinaten basierend auf dem geografischen Standort

//Eine Instanz des Adressparsers erstellen var myGeo = new BMapGL.Geocoder();
// Ergebnis der Adressauflösung auf der Karte anzeigen und Kartenansicht anpassen myGeo.getPoint(address string (Hongqihegou, Chongqing), function(point){
    wenn(Punkt){
        //Punkt ist der Breiten- und Längengrad}else{
        alert('Die von Ihnen ausgewählte Adresse hat kein Ergebnis ergeben!');
    }
}, optionaler Parameter) //Optionaler Parameter zur Übergabe des Städtenamens. Wenn nicht übergeben, global suchen. Übergeben Sie den Städtenamen und suchen Sie nur in dieser Stadt.

Damit ist dieser Artikel über die Schritte zum Zugriff auf die Baidu Map API mit JavaScript abgeschlossen. Weitere Informationen zum Zugriff auf die Baidu Map mit JavaScript finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Baidu Map-API-Anwendung zum Markieren geografischer Standortinformationen (JS-Version)
  • js ruft die Baidu-Karten-API auf und fügt Punkte und Anmerkungen auf der Karte hinzu
  • Die umfassendste Entwicklung der Offlineversion von Baidu Maps JavaScript
  • Verweisen Sie in JS auf Baidu Map und entfernen Sie das Baidu Map-Logo und die Informationen
  • Beispiel für die Verwendung von JS zum automatischen Abrufen von Adressen sowie Längen- und Breitengraden mithilfe der Baidu Maps API
  • js-Code, um die Stationskoordinaten der Buslinie über die Baidu-Karte abzurufen
  • JS-Code zum Löschen des Baidu-Kartenkreises
  • JavaScript implementiert das Anzeigen und Ausblenden von Baidu-Kartenmaus-Schiebeereignissen

<<:  Der Prozess der Installation von SVN auf Ubuntu 16.04.5LTS

>>:  Analyse eines MySQL-Deadlock-Szenariobeispiels

Artikel empfehlen

Eine kurze Analyse, wie MySQL die Transaktionsisolierung implementiert

Inhaltsverzeichnis 1. Einleitung 2. RC- und RR-Is...

Beispiel für das Erstellen eines virtuellen Hosts basierend auf dem Apache-Port

Apache: Virtuellen Host basierend auf Port erstel...

Detaillierte Analyse des Blockierungsproblems von js und css

Inhaltsverzeichnis DOMContentLoaded und laden Was...

Das WeChat-Applet realisiert den Neun-Quadrat-Rastereffekt

In diesem Artikel wird der spezifische Code für d...

Die umfassendste Sammlung von Front-End-Interviewfragen

HTML und CSS 1. Verständnis und Kenntnisse von WE...

Beispiel einer DOM-Operationstabelle (DOM erstellt Tabelle)

1. Erstellen Sie eine Tabelle mit HTML-Tags: Code...