首页 > 编程语言 >vue 使用百度地图JavaScript API GL 组件

vue 使用百度地图JavaScript API GL 组件

时间:2022-09-24 17:11:31浏览次数:46  
标签:vue JavaScript API polygonPath lat 40.819445 lng centerPoint id

<template>
<div class="component">
<el-card class="cardStyle">
<!-- ready,地图组件渲染完毕时触发,返回一个百度地图的核心类和地图实例 -->
<baidu-map
id="map"
class="mapStyle"
:center="centerPoint"
:zoom="10"
:scroll-wheel-zoom="true"
@ready="handler"
@click="getPoint"
>

<!--镂空面绘制-->
<bm-polygon
:path="polygonPath"
stroke-color="red"
:stroke-opacity="0.5"
:stroke-weight="2"
:editing="true"
@lineupdate="updatePolygonPath"
/>
<!--点聚合以及marker点标记-->
<bml-marker-clusterer :average-center="true" >
<bm-marker v-for="marker of markerArr" :position="{lng: marker.lng, lat: marker.lat}" />

</bml-marker-clusterer>
<!--行政区划-->
<bm-boundary name="内蒙古自治区"
:strokeWeight="2"
strokeColor="blue"
fillColor="transparent"
/>
<bm-label
content=""
:position="{lng: 111.708897, lat: 40.827552}"
:labelStyle="{color: 'red', fontSize : '24px'}"
title="鄂博云矿区"/>



<!--Marker点-->
<!-- <bm-marker-->
<!-- v-for="marker in markerArr"-->
<!-- :key="marker.id"-->
<!-- :position="marker"-->
<!-- animation="BMAP_ANIMATION_BOUNCE"-->
<!-- />-->
</baidu-map>
</el-card>
</div>
</template>

<script>
import {BmlMarkerClusterer} from 'vue-baidu-map'
export default {
data() {
return {
//中心轴坐标
centerPoint: {
lng: 0,
lat: 0,
},
markerArr: [
{
id: 0,
lng: 111.642458,
lat: 40.819445,
},
],
polygonPath: [
{lng: 111.708897, lat: 40.827552},
{lng: 111.715221, lat: 40.815323},
{lng: 111.743104, lat: 40.821219},
{lng: 111.737642, lat: 40.833229},
],
markerPoint: {},
};

},

components : {
BmlMarkerClusterer
},
methods: {
// 完成一次组件卸载 / 重新加载的方法,重新渲染
handler() {
this.centerPoint.lng = 111.642458;
this.centerPoint.lat = 40.819445;
},
// 添加点击函数,点击后修改marker的经纬度
getPoint(e) {
// 点击获取point经纬度
const { lng, lat } = e.point;
// 获取一个随机不重复的字符串做为id
let id = new Date().getTime() + parseInt(Math.random() * 10000);
// 新增一个marker标记
this.markerArr.push({
id: id,
lng: lng,
lat: lat,
});
// console.log(this.markerArr)
},
updatePolygonPath (e){
this.polygonPath = e.target.getPath()
},
// addPolygonPoint(e) {
// this.polygonPath.push({lng : 111.642458,lat :40.819445})
// }

},
};
</script>

<style scoped>
.mapStyle {
width: 100%;
height: calc(100vh - 130px);
}
.cardStyle {
height: calc(100vh - 130px);
}
</style>

标签:vue,JavaScript,API,polygonPath,lat,40.819445,lng,centerPoint,id
From: https://www.cnblogs.com/zhangzikang/p/16726019.html

相关文章

  • JavaScript Window History
    window.history对象包含浏览器的历史WindowHistory该对象在编写时可以不写window前缀访问对象的方法做出了限制:history.back()——与浏览器点击后退按钮相同history......
  • 计算机毕业设计 SpringBoot+Vue零食商城平台系统 零食网上商城系统 零食购物商城系统J
    ......
  • JavaScript 的闭包(closure)
    以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/对于闭包的理解,其实可以归纳为,在创建函数时,同时创建了一个集......
  • vue3 基础-补充 ref & provide-inject
    本篇主要对一些被以前内容(渲染,传值)等忽略的几个常用小技巧进行补充说明啦.v-once即对某个dom节点生效,其会限定只会渲染一次,不论数据是如何的变化,演示如下:<!......
  • vue3 的 ref、isRef、toRef、toRefs、toRaw 详细介绍
    ref、isRef、toRef、toRefs、toRaw看着一堆类似的东西,一个头两个大,今天整理一篇文章详细介绍它们的功能及区别。1、refref属性除了能够获取元素外,也可以使用ref函数,......
  • Vue脚手架
    Vue脚手架vue-cli首先确保已安装的node和npmnode-vnpm-v其次确保npm镜像地址是淘宝镜像(有梯子除外)npmconfiggetregistry如果结果是:https://registry.npmmirror......
  • APISIX
    https://www.bilibili.com/video/BV1aT4y1q7eg/?spm_id_from=333.788.recommend_more_video.-1&vd_source=4b9cd920e439f7f2077fe30f321d93af         ......
  • JavaScript Window - 浏览器对象模型(BOM)
     浏览器对象模型(BOM):现代浏览器已经实现了JavaScript交互性的相同方法和属性,所以常被认为是BOM的方法和属性Window对象:所有浏览器都支持window对象,表示浏览器的窗......
  • JavaScript Window Screen
    window.screen对象包含有关用户屏幕的信息。WindowScreen可用宽度:screen.availWidth属性返回访问者屏幕的宽度,以像素计,减去界面特性,比如窗口任务栏。 WindowScr......
  • HBase对表增查操作 API
    publicclassHBaseDML{//静态属性publicstaticConnectionconn=HBaseConnection2.conn;//添加数据publicvoidputCell(Contractcontract){......