该代码主要用于在百度地图WebGL中添加和移除点图层,实现对地图上特定点的可视化和交互。点图层广泛应用于地理信息系统(GIS)中,用于展示分布式数据,如店铺、景点或其他兴趣点。
async mounted() {
await Promise.all([
this.loadScripts([
// 加载地图和依赖库的脚本
]),
this.loadStyles([
// 加载地图样式的样式表
]),
])
}
该代码首先加载了百度地图WebGL的脚本和样式表,为后续地图操作做好准备。
var pointLayer = new BMapGL.PointIconLayer({
zIndex: 6,
isTop: true,
enablePicked: true,
pickWidth: 30,
pickHeight: 30,
opacity: 1,
isFlat: true,
isFixed: true,
style: {
opacity: 1,
// 自定义点图标样式
},
})
这段代码创建了一个点图层,设置了其图层属性和样式。
fetch(
'//mapopen-pub-jsapigl.bj.bcebos.com/demo/demodata/pointLayerData.json',
)
.then((res) => {
return res.json()
})
.then((testPointData) => {
pointLayer.setData(testPointData)
})
该代码从指定数据源加载点数据,并将其添加到创建的点图层中。
map.addNormalLayer(pointLayer)
将创建的点图层添加到地图中,使其在地图上可见。
function removePointLayer() {
map.removeNormalLayer(pointLayer)
}
该函数用于从地图中移除点图层。
pointLayer.addEventListener('click', function (e) {
if (e.value.dataIndex !== -1 && e.value.dataItem) {
console.log(e.value.dataItem)
} else {
console.log('未选中')
}
})
该代码为点图层添加了点击事件监听器,当用户点击点图层上的点时,可以获取选中点的相关信息。
这段代码实现了在百度地图WebGL中添加和移除点图层的功能,提供了对地图上特定点的可视化和交互。
开发经验与收获:
未来拓展与优化:
style
属性,可以实现更加丰富的点图标样式。