04-百度地图案例学习
(1)打开百度地图开放平台  --->  控制台  ---> 创建应用  ---> 获得我们的AK
(2)打开MapVGL,选择“飞线图层”进行案例学习。
(3)点击动手试试,复制代码,对代码进行改造
(4)编写代码:实现从广州到福州的飞线
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <!--
        百度地图案例学习
    -->
    <meta charset="utf-8">
    <title>MapVGL</title>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <style>
        html,
        body {
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
        }
        #map_container {
            width: 100%;
            height: 100%;
            margin: 0;
        }
    </style>
    <script src="//api.map.baidu.com/api?v=1.0&type=webgl&ak=1XjLLEhZhQNUzd93EjU5nOGQ"></script>
    <script src="//mapv.baidu.com/build/mapv.min.js"></script>
    <script src="https://code.bdstatic.com/npm/mapvgl@1.0.0-beta.131/dist/mapvgl.min.js"></script>
    <script src="https://code.bdstatic.com/npm/mapvgl@1.0.0-beta.131/dist/mapvgl.threelayers.min.js"></script>
</head>
<body>
    <!--存放地图的容器-->
    <div id="map_container"></div>
    <script>
        //一、我们上面已经导入了地图,接下来我们对其进行初始化
        var map = new BMapGL.Map('map_container'); //在这个容器中进行实例化
        //(1)地图初始化的中心点
        map.centerAndZoom(new BMapGL.Point(113,23),8.5);//广州的经纬度是113,23,我们设置中心点为广州,同时设置地图的缩放比例为8.5
        //(2)设置地图的倾斜角为30°
        map.setTilt(30);
        //(3)设置旋转角度
        map.setHeading(0);
        //二、构造数据
        //(1)获取经纬度
        var startPoint = mapv.utilCityCenter.getCenterByCityName('广州');//通过城市名称获取城市的经纬度
        var endPoint = mapv.utilCityCenter.getCenterByCityName('福州');
        //(2)通过3d曲线生成器,生成两个地点之间的曲线
        var curve = new mapvgl.BezierCurve({
            start: [startPoint.lng, startPoint.lat],
            end: [endPoint.lng, endPoint.lat]
        });
        //(3)获取生成曲线的坐标集,生成贝塞尔曲线数据
        const curveData = curve.getPoints();
        //(4)把曲线的数据丢到data中
        var data = []
        data.push({
            geometry:{
                type:'LineString', //类型是线,
                coordinates: curveData  //把详细的曲线数据(贝塞尔曲线坐标集)进行赋值
            }
        })
        //(5)使用图层管理容器,将图层添加进来(图层管理容器也可以从MapVGL上获取)
        var view = new mapvgl.View({map: map});//将我们刚才创建的地图传进来
        //(6)根据数据生成飞线图层,飞线的创建方式可以直接从MapVGL上复制
        var layer = new mapvgl.FlyLineLayer({
            /*
            对显示的线的一些配置
             */
            color: 'rgba(50, 50, 200, 1)',   //线的颜色
            textureColor: 'rgba(50, 50, 200, 1)',
            textureWidth: 10,
            textureLength: 30,
            //上面我们已经设置了data,这里不需要再设置
            // data: [{
            //     geometry: {
            //         type: 'LineString',
            //         coordinates: [
            //             [116.394191, 39.91334],
            //             [116.417259, 39.913672]
            //         ]
            //     }
            // }]
        });
        view.addLayer(layer);//将图层添加到图层管理容器中
        layer.setData(data);//设置数据
    </script>
</body>
</html>
 
                    
                
 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号