场景:
当我们需要使用百度地图定义自定义的样式时,设置自定义样式,配置完成拿到样式id时不起作用
,有两种解决方案
1、查看vue版本
问题
在public文件夹下的index.html
中引入的script标签内容
原本的引入:
<script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak=AK值"></script>
更改之后:
<script type="text/javascript" src="//api.map.baidu.com/api?v=3.0&ak=AK值"></script>
将v=2.0改为v=3.0版本问题
2、在创建实例时,使用的ref定义,所以在定义时需要加上.value
才可以生效
具体代码:
// 地图嵌入
const baiduRef = ref();
const map = ref();
const point = ref();
const marker = ref();
function initMap(lng = 116.405725, lat = 39.935362) {
map.value = new BMap.Map(baiduRef.value);
point.value = new BMap.Point(lng, lat);
// console.log(point.value, 858585);
marker.value = new BMap.Marker(point.value);
map.value.centerAndZoom(point.value, 15);
map.value.enableScrollWheelZoom(true); //滚轮缩放
map.value.addOverlay(marker.value);
// 样式id,加上.value
map.value.setMapStyleV2({
styleId: "样式ID",
});
}