(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
|