(function () { window.BMap_loadScriptTime = new Date().getTime() document.write( '' ) // })(); // (function () { // 闭包 function load_script (xyUrl, callback) { var head = document.getElementsByTagName('head')[0] var script = document.createElement('script') script.type = 'text/javascript' script.src = xyUrl // 借鉴了jQuery的script跨域方法 script.onload = script.onreadystatechange = function () { if ( !this.readyState || this.readyState === 'loaded' || this.readyState === 'complete' ) { callback && callback() // Handle memory leak in IE script.onload = script.onreadystatechange = null if (head && script.parentNode) { head.removeChild(script) } } } // Use insertBefore instead of appendChild to circumvent an IE6 bug. head.insertBefore(script, head.firstChild) } function translate (point, type, callback) { var callbackName = 'cbk_' + Math.round(Math.random() * 10000) // 随机函数名 var xyUrl = 'http://api.map.baidu.com/ag/coord/convert?from=' + type + '&to=4&x=' + point.lng + '&y=' + point.lat + '&callback=BMap.Convertor.' + callbackName // 动态创建script标签 load_script(xyUrl) BMap.Convertor[callbackName] = function (xyResult) { delete BMap.Convertor[callbackName] // 调用完需要删除改函数 var point = new BMap.Point(xyResult.x, xyResult.y) callback && callback(point) } } window.BMap = window.BMap || {} BMap.Convertor = {} BMap.Convertor.translate = translate })() export default BMap