Bei der Entwicklung eines mobilen Webs oder einer Web-App ist es bei Verwendung der Baidu Map API häufig erforderlich, den aktuellen Standort über die Standortbestimmung des Mobiltelefons zu ermitteln und in der Mitte der Karte anzuzeigen. Dazu ist die Verwendung der Geolokalisierungsfunktion von HTML5 erforderlich.
navigator.geolocation.getCurrentPosition( Rückruf);
Nachdem die Rückruffunktion erfolgreich abgerufen wurde, ist der Parameter der Rückrufmethode der erhaltene Koordinatenpunkt. Anschließend können Sie die Karte initialisieren und die Steuerung festlegen Punkt, Zoomstufe und dann Punkte zur Karte hinzufügen Overlay:
var map = new BMap. Map("mapDiv");//mapDiv ist die ID des Div, in dem die Karte platziert ist
map.addControl(new BMap.NavigationControl());
map.addControl(new BMap.ScaleControl());
map.addControl(new BMap.OverviewMapControl());
map.centerAndZoom(point, 15); //point ist der Koordinatenpunkt, 15 ist die Zoomstufe der Karte und die maximale Stufe ist 18
var pointMarker = new BMap Marker(point);
Tatsächlich Dies reicht nicht aus und die angezeigten Ergebnisse sind nicht genau. Dies liegt daran, dass die von getCurrentPosition erhaltenen Koordinaten GPS-Längen- und Breitengradkoordinaten sind und die Koordinaten von Baidu Map speziell konvertiert werden. Daher ist zwischen dem Abrufen ein Schritt der Koordinatenkonvertierung erforderlich Die Positionierungskoordinaten und die Initialisierung der Karte wurden in der Baidu-API bereitgestellt, und die Methode zum Konvertieren einer Punkt- oder Stapelkonvertierung ist beides: Die Einzelpunktkonvertierung muss auf http://developer.baidu.com/ verwiesen werden. map/jsdemo/demo/convertor.js, die Stapelkonvertierung muss auf http://developer.baidu.com/map/jsdemo/demo/changeMore .js verweisen, hier wird nur ersteres benötigt:
BMap.Convertor.translate(gpsPoint, 0, callback) ;
//gpsPoint: Koordinaten vor der Konvertierung, der zweite Parameter ist die Konvertierungsmethode, 0 bedeutet, dass die GPS-Koordinaten in Baidu-Koordinaten konvertiert werden, Rückruffunktion, der Parameter sind die neuen Koordinaten Klicken Sie auf
Der detaillierte Code des Beispiels lautet wie folgt: (ak in der Referenz ist der Anwendungsschlüssel)
"viewport" content="initial-scale=1.0, user-scalable=no" />
wird nicht angezeigt
}