关于vue3:在vue3tsvite项目中用BMap百度地图自定义定位icon不显示

  1. 自定义icon门路,不能间接应用门路地址,须要require包裹

    var myIcon = new window.BMap.Icon(require("@/assets/icon.png", new window.BMap.Size(26, 32));
  2. 那么问题来了,vite+typescript我的项目不容许应用动态资源加载办法require,如果应用require关键字就会报错,那必定没法显示坐标点。
  3. 所以咱们应用import来解决
let imgUrl = ref('')

onMounted(async () => {
    let img = await import("/@/assets/41-placeholder.svg")
    imgUrl.value = img.default
}
  1. 应用
var map = new window.BMap.Map("container");          // 创立地图实例
map.centerAndZoom(point, 15);
map.enableScrollWheelZoom(true); // 鼠标滚动缩放
// 自定义坐标门路地址
var myIcon = new window.BMap.Icon(imgUrl.value, new window.BMap.Size(26, 32));
myIcon.setImageSize(new window.BMap.Size(26, 32))
var marker = new window.BMap.Marker(new window.BMap.Point(116.399, 39.910), {icon: myIcon});
map.addOverlay(marker);

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理