Skip to content

Instantly share code, notes, and snippets.

@walkerwzy
Last active April 8, 2019 04:30
Show Gist options
  • Save walkerwzy/718052e1c99e26ab3668 to your computer and use it in GitHub Desktop.
Save walkerwzy/718052e1c99e26ab3668 to your computer and use it in GitHub Desktop.

Revisions

  1. walkerwzy revised this gist Mar 23, 2016. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion converv1
    Original file line number Diff line number Diff line change
    @@ -19,7 +19,7 @@ function load_script(xyUrl, callback){
    head.insertBefore( script, head.firstChild );
    }
    // 一个文档未列出的接口, 未测试在此接口的情况下做指转换的情况
    function translate2(point,type,callback){
    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标签
  2. walkerwzy created this gist Mar 23, 2016.
    37 changes: 37 additions & 0 deletions converv1
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,37 @@
    (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 translate2(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;
    })();