(function () {
|
window.BMap_loadScriptTime = new Date().getTime();
|
document.write(
|
'<script type="text/javascript" src="http://api.map.baidu.com/getscript?v=2.0&ak=6yAoynmTPNlTBa8z1X4LfwGE&services=&t=20220113143013"></script>'
|
);
|
// })();
|
// (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;
|