为了满足相关需求,我在Vue项目中使用了vue-baidu-map插件。在为地图设置自定义样式时,控制台中出现报错,且自定义样式没有生效。

以下是报错内容:

Uncaught (in promise) TypeError: bmap.setMapStyleV2 is not a function

回看项目代码,定位到该函数的位置:

bmap.setMapStyleV2({ styleJson: eval(mapStyle) }); // 修改地图样式

作了如以下的修改后,控制台中没有再报错,自定义样式能够生效,但是效果有点奇怪,比如道路并没有正常地显示出来:

bmap.setMapStyle({ styleJson: eval(mapStyle) }); // 修改地图样式

 网上看了相关帖子,发现是百度地图api版本问题,于是在index.html文件中定位到了以下代码:

<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=...(填入申请的AK)"></script>

然后我将api?v=2.0修改为api?v=3.0:

<script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=...(填入申请的AK)"></script>

保存后刷新项目页面,自定义样式能正常显示了:

Logo

前往低代码交流专区

更多推荐