弄毕设的时候要自定义一下百度地图,按官网来弄以为很简单的,但是写完发现自己自定义添加的图片显示不出来。我一直感觉就是引用图片的地址问题。捣鼓了一下午,一开始我试了网络地址(gif图的)以及被我认为是静态图的网络地址,然后再试了本地的各种绝对地址,相对地址都不行,网上也找了很多方法,说什么用require包裹地址啥的,都不行。
最后我发现是我的图片网络地址搞错了,百度的图片得右键图片复制网络地址,而不是直接复制网址。
var myIcon = new BMapGL.Icon("https://img2.baidu.com/it/u=532596831,2914963832&fm=253&fmt=auto&app=138&f=JPEG?w=300&h=300", new BMapGL.Size(52, 26));
// 创建Marker标注,使用自定义图标
var pt = new BMapGL.Point(116.417, 39.909);
var marker = new BMapGL.Marker(pt, {
icon: myIcon
});
// 将标注添加到地图
map.addOverlay(marker);
然后对于本地地址无法显示问题,也发现了问题所在,是谷歌浏览器的内核问题,随后我用edge的试了一下,发现可以显示。