1 Star 1 Fork 1

小李zhen/百度地图可视化

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
百度地图炫酷飞线图.html 4.20 KB
一键复制 编辑 原始数据 按行查看 历史
小李zhen 提交于 2022-07-11 00:52 . first commit
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
html,
body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
#map_container {
width: 100%;
height: 100%;
margin: 0;
}
</style>
</head>
<body>
<script type="text/javascript"
src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak=4aW5DfpefWI3ozGKjsiTqs3R9yYyupmb"></script>
<script src="https://mapv.baidu.com/gl/examples/static/common.js"></script>
<script src="https://mapv.baidu.com/build/mapv.js"></script>
<script src="https://code.bdstatic.com/npm/mapvgl@1.0.0-beta.54/dist/mapvgl.min.js"></script>
<script src="https://unpkg.com/mapvgl/dist/mapvgl.threelayers.min.js"></script>
<div id="map_container"></div>
<script>
var map = initBmap()
var data = initData()
setData(data, map)
// 初始化百度地图
function initBmap() {
var cityCenter = mapv.utilCityCenter.getCenterByCityName('广州')
var map = new initMap({
tilt: 0,
heading: 0,
center: [cityCenter.lng, cityCenter.lat],
zoom: 5,
style: purpleStyle
})
return map
}
// 准备数据源
function initData() {
var curve = new mapvgl.BezierCurve()
var citys = [
'北京', '天津', '上海', '重庆', '石家庄', '太原', '呼和浩特', '哈尔滨', '长春',
'沈阳', '济南', '南京', '合肥', '杭州', '南昌', '福州', '郑州', '武汉', '长沙', '广州',
'南宁', '西安', '银川', '兰州', '西宁', '乌鲁木齐', '成都', '贵阳', '昆明', '拉萨', '海口'
]
var targetCity = mapv.utilCityCenter.getCenterByCityName('北京')
// 边绑定算法
var nodeData = []
var edgeData = [{
source: 0, // 起点 0 表示nodeData 第0号元素
target: 0 // 目标点 0 表示nodeData 第0号元素
}] // 边的关系
var randomCount = 500
for (var i = 0; i < randomCount; i++) {
var startCity = mapv.utilCityCenter.getCenterByCityName(citys[parseInt(Math.random() * citys.length)])
nodeData.push({ // 插入点
x: startCity.lng,
y: startCity.lat
})
edgeData.push({ // 插入边
source: i + 1
})
}
// 边绑定
var fbundling = mapv.utilForceEdgeBundling().nodes(nodeData).edges(edgeData)
var results = fbundling()
for (let i = 0; i < results.length; i++) {
var line = results[i]
var coordinates = []
for (let j = 0; j < line.length; j++) {
coordinates.push([line[j].x, line[j].y])
}
}
console.log(results);
return data
}
// 绘制数据源
function setData(data, map) {
var view = new mapvgl.View({ map })
var lineLayer = new mapvgl.FlyLineLayer({
blend: 'lighter',
width: 5,
color: 'rgba(255, 71, 26, 0.8)'
})
view.addLayer(lineLayer)
lineLayer.setData(data)
var linePointLayer = new mapvgl.LinePointLayer({
size: 9, // 点大小
speed: 209, // 点的运动速度
color: 'rgba(255, 255, 0, 0.6)', // 点的颜色
animationType: mapvgl.LinePointLayer.ANIMATION_TYPE_UNIFORM_SPEED, // 点的动画类型
shapeType: mapvgl.LinePointLayer.SHAPE_TYPE_CIRCLE, // 点的形状
blend: 'lighter' // 点的交汇时处理方式
});
view.addLayer(linePointLayer)
linePointLayer.setData(data)
}
</script>
</body>
</html>
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/junpeng1024/baidu-map-visualization.git
git@gitee.com:junpeng1024/baidu-map-visualization.git
junpeng1024
baidu-map-visualization
百度地图可视化
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385