今天在项目中使用百度地图时,有一个需求就是在地图中添加标注,并且要使用本地的图标,于是代码这样写
let myIcon = new BMap.Icon('./hongqi.png', new BMap.Size(15,25));
let baiduPoint = new BMap.Point(point.longitude, point.latitude);
let marker = new BMap.Marker(baiduPoint, { icon: myIcon });
map.addOverlay(marker);
但是图标不能正常显示
将图片地址换成线上地址
let myIcon = new BMap.Icon('http://192.168.5.35:8081/systemmanage/files/20190121114049705.png', new BMap.Size(15,25));
let baiduPoint = new BMap.Point(point.longitude, point.latitude);
let marker = new BMap.Marker(baiduPoint, { icon: myIcon });
map.addOverlay(marker);
图片可以正常显示。但是如果更换服务器,又要重新上传图片,重新获取图片地址,重新修改代码,甚是麻烦,于是使用require加载图片即可,代码这样写:
let myIcon = new BMap.Icon(require('./hongqi.png'), new BMap.Size(15,25));
let baiduPoint = new BMap.Point(point.longitude, point.latitude);
let marker = new BMap.Marker(baiduPoint, { icon: myIcon });
map.addOverlay(marker);
图标可以正常显示了。
看下效果