Avant la réécriture :
Exemple d'API JavaScript pour la conversion de coordonnées dans Baidu MapsL'exemple officiel est le suivant :
var points = [new BMap.Point(116.3786889372559,39.90762965106183), new BMap.Point(116.38632786853032,39.90795884517671), new BMap.Point(116.39534009082035,39.907432133833574), new BMap.Point(116.40624058825688,39.90789300648029), new BMap.Point(116.41413701159672,39.90795884517671) ];//地图初始化var bm = new BMap.Map("allmap"); bm.centerAndZoom(new BMap.Point(116.378688937,39.9076296510), 15);//坐标转换完之后的回调函数translateCallback = function (data){ if(data.status === 0) {for (var i = 0; i < data.points.length; i++) { bm.addOverlay(new BMap.Marker(data.points[i])); bm.setCenter(data.points[i]); } } } setTimeout(function(){var convertor = new BMap.Convertor(); convertor.translate(points, 1, 5, translateCallback) }, 1000);
Après réécriture :
Réécrivez le code ci-dessus dans le formulaire de fonction de rappel JavaScript traditionnel :
function translate(points,callback){ var convertor=new BMap.Convertor(); convertor.translate(points, 1, 5, callback) translateCallback = function (data){if(data.status === 0) { var res=[]; //res用来存放转换后的points数组 for (var i = 0; i < data.points.length; i++) { bm.addOverlay(new BMap.Marker(data.points[i])); res.push(data.points[i]); } callback(res) } } }//再调用translate函数,translate(points,function(data){ console.log(data); //data为转换后的points数组})
Après la réécriture, la fonction de traduction accepte deux paramètres, le premier paramètre est le Tableau de points Baidu original, le deuxième paramètre est passé dans une fonction de rappel.
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!