vue+百度地图根据后端返回的经纬度坐标实现地图点位添加

本文介绍了如何在HTML中集成百度地图WebGLAPI,展示地图并动态获取数据点,通过BMapGL.Marker和InfoWindow实现位置标记和详细信息显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.效果图


2.准备工作 public/index

<script src="http://api.map.baidu.com/api?type=webgl&v=2.0&ak=sRDDfAKpCSG5iF1rvwph4Q95M6tDCApL"></script>  

3.html

<div id="vehicleMap">

        </div>

4.js

data() {
		return {
			url: '/api/sysHomepagesignin/list',
			// 页面查询数据
			queryData: {
				limit: 10,
				page: 1,
				totalRecord: 0,
				startTime: '2020-01-01',
				endTime: '2020-01-01'
			},
			map: '',
		}
	},
// 初始化地图
		initMap() {
                var map = new BMapGL.Map('vehicleMap') // 创建Map实例
                map.centerAndZoom(new BMapGL.Point(120.214935, 30.256576), 12) // 初始化地图,设置中心点坐标和地图级别
                map.enableScrollWheelZoom(true) // 开启鼠标滚轮缩放
			    this.map = map
            
		},
		// 地图点位数据
		async getMapData() {
			let result = await gcDispenserApi.getData(this.url, this.queryData)
			let data = result.data.list
			// 创建点标记
			// var marker1 = new BMapGL.Marker(new BMapGL.Point(116.404, 39.925))
			data.map(item => {
				var point = new BMapGL.Point(
					item.signlongitude,
					item.signlatitude
				)
				var marker = new BMapGL.Marker(point)
				// 在地图上添加点标记
				this.map.addOverlay(marker)
				// 创建信息窗口
				var opts = {
					width: 200,
					height: 100,
					title: `${item.username}`
				}
				var infoWindow = new BMapGL.InfoWindow(
					`地址:${item.signaddress}`,
					opts
				)
				// 修改信息窗口标题和内容样式
				infoWindow.setTitle(
					`<p style="font-size:14px;margin-bottom:15px;color:#000">${item.username}</p>`
				)
				infoWindow.setContent(
					`<div><p style='font-size:12px;line-height:20px;color:red'>地址:${item.signaddress}</p></div>`
				)

				// 点标记添加点击事件
				marker.addEventListener('click', function() {
					this.map.openInfoWindow(infoWindow, point) // 开启信息窗口
				})
			})
		},

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值