npm install @vuemap/vue-amap --save
或者使用CDN:<script src="https://unpkg.com/@vuemap/vue-amap/dist/index.js"></script><!--加载自定义threeJS组件--><script src="https://unpkg.com/@vuemap/vue-amap/dist/three.js"></script><script src="https://unpkg.com/@vuemap/vue-amap/dist/style.css"></script>
脚本初始化:// 引入vue-amapimport VueAMap from '@vuemap/vue-amap';import '@vuemap/vue-amap/dist/style.css';Vue.use(VueAMap);// 初始化vue-amapVueAMap.initAMapApiLoader({ // 高德的key key: 'YOUR_KEY',});//如果需要使用自定义的threeJS相关的组件,需要额外引入库中的three该包只提供常用的模型加载,灯光,HDR等相关能力,更细致的控制需要在模型初始化后获取对象进行操作import VueAmapThree from '@vuemap/vue-amap/dist/three'Vue.use(VueAmapThree);
示例:获取地图实例方式有三种:1、通过init事件2、通过ref获取地图组件对象,然后调用$$getInstance方法基础示例:<template> <div class="bmap-page-container"> <el-amap ref="map" :min-zoom="10" :max-zoom="22" :center="center" :zoom="zoom" @init="init" @click="click" class="bmap-demo"> </el-amap> <div class="toolbar"> <button @click="getMap()">get map</button> </div> </div> </template> <style> .bmap-demo { height: 300px; } </style> <script> module.exports = { data: function() { return { zoom: 16, center: [121.59996, 31.197646], map: null, }; }, mounted() { }, methods: { getMap() { // bmap vue component console.log('$refs: ', this.$refs.map.$$getInstance()) }, init(o) { this.map = o; console.log(o.getCenter()) console.log(this.$refs.map.$$getInstance()) }, click(){ alert('click map') } } };</script>
运行结果:其他示例:地图类型切换室内图层热力图图片图层网格图面图层轨迹线图层更多内容大家可自行前往阅读开源地址:gitee.com/guyangyang/vue-amap如需项目推荐、获取资源请私信作者(图片来源网络,侵删)
0 评论