vue 本地离线地图显示,打包后地图不显示bug
vue2 + 百度离线地图
链接: https://pan.baidu.com/s/1hZpOyvSqpKfxk6dxVswgwA 提取码: abcd
下载相关离线文件(js和瓦片地图)
map.js文件中要改相关的源码
链接: https://pan.baidu.com/s/1qxQ4c0LReVHFNM12DCDV2w 提取码: abc1
在html中全局引入。。
备注:使用 创建 script 加入的 本地运行时可以显示,打包后路径有问题,图片无法显示
// html 中引入
<script src="../static/map/map_loader.js" type="text/javascript"></script>
<script src="../static/map/map.js" type="text/javascript"></script>
// demo中
mounted() {
this.$nextTick(() => {
this.baiduMap();
});
},
methods: {
baiduMap() {
// 创建地图实例
var _this = this;
console.log(BMap,'BMap')
// var BMap = window.BMap
this.map = new BMap.Map("map_container");
// 创建点坐标
var point = null;
var pt = null;
if (this.poinits) {
let cc = this.poinits.split(",");
point = new BMap.Point(cc[0], cc[1]);
pt = new BMap.Point(cc[0], cc[1], { icon: this.myIcon });
} else {
point = new BMap.Point(116.403963, 39.915119);
pt = new BMap.Point(116.403963, 39.915119, { icon: this.myIcon });
}
this.map.removeOverlay();
var marker = new BMap.Marker(pt);
this.map.addOverlay(marker);
// 初始化地图,设置中心点坐标和地图级别
this.map.centerAndZoom(point, 9);
//开启鼠标滚轮缩放
this.map.enableScrollWheelZoom(true);
this.map.setMinZoom(4);
this.map.setMaxZoom(9);
this.map.addEventListener("click", function(e) {
let pts = new BMap.Point(e.point.lng, e.point.lat, {
icon: this.myIcon
});
let str = e.point.lng+','+ e.point.lat
_this.$emit('toponits',str)
let markers = new BMap.Marker(pts);
_this.map.clearOverlays();
_this.map.addOverlay(markers);
});
}
}