Heim >Web-Frontend >js-Tutorial >Teilen Sie ein Beispiel-Tutorial, das in eine herkömmliche Rückruffunktion umgeschrieben wurde
Vor dem Umschreiben:
JavaScript-API-Beispiel für die Koordinatenkonvertierung in Baidu MapsDas offizielle Beispiel lautet wie folgt:
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);
Nachher Umschreiben:
Schreiben Sie den obigen Code in die traditionelle JavaScript-Rückruffunktionsform um:
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数组})
Nach dem Umschreiben akzeptiert die Übersetzungsfunktion zwei Parameter, der erste Parameter ist der Ursprüngliches Baidu-Punkte-Array, der zweite Parameter wird in einer Rückruffunktion übergeben.
Das obige ist der detaillierte Inhalt vonTeilen Sie ein Beispiel-Tutorial, das in eine herkömmliche Rückruffunktion umgeschrieben wurde. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!