Lors du développement d'un site Web mobile ou d'une application Web, lors de l'utilisation de l'API Baidu Map, il est souvent nécessaire d'obtenir la position actuelle via le positionnement du téléphone mobile et de l'afficher au centre de la carte. Cela nécessite l'utilisation de la fonction de géolocalisation de HTML5.
navigator.geolocation.getCurrentPosition( callback);
Après avoir obtenu avec succès les coordonnées, la fonction de rappel sera exécutée ; le paramètre de la méthode de rappel est le point de coordonnées obtenu, vous pourrez alors initialiser la carte, définir le contrôle, le centre ; point, niveau de zoom, puis ajoutez des points à la carte Superposition :
var map = new BMap. Map("mapDiv");//mapDiv est l'identifiant du div où la carte est placée
map.addControl(new BMap.NavigationControl());
map.addControl(new BMap.ScaleControl());
map.addControl(new BMap.OverviewMapControl());
map.centerAndZoom(point, 15); 15 est le niveau de zoom de la carte, et le niveau maximum est de 18
var pointMarker = new BMap(point);
map.addOverlay(pointMarker); , cela ne suffit pas et les résultats affichés ne sont pas précis. En effet, les coordonnées obtenues par getCurrentPosition sont des coordonnées GPS de longitude et de latitude, et les coordonnées de la carte Baidu sont spécialement converties. Par conséquent, une étape de conversion des coordonnées est requise entre l'obtention. les coordonnées de positionnement et l'initialisation de la carte. Cette méthode de conversion a été fournie dans l'API Baidu, et la méthode de conversion d'un point ou d'un lot est Les deux sont fournies : la conversion d'un point unique doit se référer à http://developer.baidu.com/ map/jsdemo/demo/convertor.js, la conversion par lots doit faire référence à http://developer.baidu.com/map/jsdemo/demo/changeMore .js, seul le premier est nécessaire ici :
//gpsPoint : coordonnées avant conversion, le deuxième paramètre est la méthode de conversion, 0 signifie que les coordonnées gps sont converties en coordonnées Baidu, fonction de rappel, le paramètre est les nouvelles coordonnées Cliquez
Le code détaillé de l'exemple est le suivant : (ak dans la référence est la clé de l'application)
"viewport" content="initial-scale=1.0, user-scalable=no" />