概述
1.在main.js中引入
import VueAMap from 'vue-amap';
Vue.use(VueAMap);
VueAMap.initAMapApiLoader({
// 高德的key
key: '你的KEY',
// 插件集合
plugin: ['AMap.Geolocation','Geolocation','AMap.Polygon','AMap.DistrictSearch','AMap.Autocomplete', 'AMap.PlaceSearch', 'AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.PolyEditor', 'AMap.CircleEditor'],
// 高德 sdk 版本,默认为 1.4.4
v: '1.4.4'
});
2.需要使用高德地图原生api我是在index.html中又添加了一遍cdn,这里应该可以改进。
<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.4&key=你的KEY&plugin=Map3D,ElasticMarker,AMap.Geocoder,AMap.Geolocation,AMap.Driving,AMap.DistrictSearch"></script>
3.index.vue
<el-amap
vid="amapDemo"
class="map-box"
:zoom="8"
:events="mapEvent"
:center="mapCenter"
:amapManager="amapManager"
>
<el-amap-polygon
strokeColor="#4ea8f8"
strokeOpacity="0.1"
fillColor="#0091ea"
fillOpacity="0.6"
v-for="(polygon, index) in polygons"
:key="index"
strokeWeight="1"
:path="polygon.Ce.path"
></el-amap-polygon>
</el-amap>
<script>
import linyi from "@/util/linyi"; //这里的数据是临沂市边界 也可以使用高德地图的方法获取
export default {
data() {
let self = this;
return {
linyi,
polygons: [],
mapCenter: [118.3123, 35.23668],
mapZoom: 8,
};
},
mounted: function () {
setTimeout(() => {
this.drawBounds();
}, 200);
},
created() {
},
methods: {
drawBounds() {
var that = this;
var bounds = this.linyi;
//加载行政区划插件
that.polygons = [];
var outer = [
new AMap.LngLat(-360, 90, true),
new AMap.LngLat(-360, -90, true),
new AMap.LngLat(360, -90, true),
new AMap.LngLat(360, 90, true),
];
var polygon = new AMap.Polygon({
path: [outer, bounds],
});
that.polygons.push(polygon);
console.log(that.polygons);
AMap.Polygon.bind(that.polygons);
},
},
};
</script>
最后
以上就是香蕉钢铁侠为你收集整理的vue cli使用高德地图绘制带洞多边形的全部内容,希望文章能够帮你解决vue cli使用高德地图绘制带洞多边形所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复