精品一区在线播放-天天色图片-久草视频污-日本中文字幕一区二区-在线成人免费-丰满少妇乱子伦精品看片

顯示源代碼
可視域 球形
 開發文檔
            <html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <link  rel='stylesheet'/>
    <script src='http://ua.bigemap.com:30081/bmsdk/bigemap-gl.js/v1.1.0/bigemap-gl.js'></script>
    <title>可視域</title>
</head>
<style type="text/css">
    * {
        padding: 0;
        margin: 0;
    }
    html, body, #map {
        width: 100%;
        height: 100%;
    }
    #start {
        position: absolute;
        left: 50px;
        top: 50px;
        z-index: 9999;
    }
    #step {
        position: absolute;
        left:120px;
        top: 50px;
        z-index: 9999;
    }
    .info{
        position: fixed;
        top:0;
        color: #8a6d3b;
        z-index: 99;
        margin: 0;
        background-color: #fcf8e3;
        border-color: #faebcc;
        left: 0;
        right: 0;
        text-align: center;
    }
</style>
<body>
<div id="map"></div>
<div class="info">
    先點擊開始,然后再次單擊地圖,即可實現可視域分析功能
</div>
<button id="start">
    開始
</button>
<button id="step">
    進度
</button>
</body>
</html>
<script type="text/javascript">
    bmgl.Config.HTTP_URL = 'http://ua.bigemap.com:30081/bmsdk/';
    var viewer = new bmgl.Viewer('map', {
        terrainId: 'bigemap.dc-terrain',
        requestRenderMode:false,
        mapId: 'bigemap.dc-satellite'
    });
    var config = initConfig();
    function initConfig() {
        let base = {
            lng: 86,
            lat: 28,
            sum: 50,
            start: 0,
            done: 0,
            height: 5,
            loaded: 0,
            delta: 100,
            all_seen: 0,
            width: 5000,
            click: 0,
            draw: false,
            calc_width: [],
            edge: [],
            min: [],
            inner: [],
        };
        return base;
        // return JSON.parse(JSON.stringify(base));
    }

    // viewer.entities.add({
    //     position:bmgl.Cartesian3.fromDegrees(config.lng,config.lat),
    //     label:{
    //         text:'C',
    //         heightReference:bmgl.HeightReference.CLAMP_TO_GROUND,
    //     }
    // });
    viewer.scene.globe.depthTestAgainstTerrain = true;
    //獲取最新的位置
    viewer.camera.setView({
        destination: bmgl.Cartesian3.fromDegrees(103.59526245619938,30.9814012061604,3837.4144546),
        orientation: {"heading":6.282150327905171,"roll":6.279635689524259,"pitch":-0.6993902253931052}
    });
    function startDraw() {
        // var pp=bmgl.Transforms.eastNorthUpToFixedFrame(bmgl.Cartesian3.fromDegrees(config.lng,config.lat));
        document.getElementById('step').innerHTML='0/'+config.sum;
        for (let i = 0; i < config.sum; i++) {
            var tmp_edge = [];
            var tmp_inner = [];
            for (let j = 0; j < config.sum; j++) {
                var center = bmgl.Cartesian3.fromDegrees(config.lng, config.lat);
                var heading = bmgl.Math.PI * 2 * j / config.sum;
                var hpr = new bmgl.HeadingPitchRoll(heading, 0.0, 0);
                var transform = bmgl.Transforms.headingPitchRollToFixedFrame(center, hpr);
                var p = bmgl.Matrix4.multiplyByPoint(transform, new bmgl.Cartesian3(config.width * Math.cos(bmgl.Math.toRadians(90 * i / config.sum)), 0, config.width * Math.sin(bmgl.Math.toRadians(90 * i / config.sum))), new bmgl.Cartesian3());
                // var p2=bmgl.Matrix4.multiplyByPoint(transform,new bmgl.Cartesian3(config.width*Math.cos(bmgl.Math.toRadians(90*i/config.sum)),0,0),new bmgl.Cartesian3());
                // viewer.entities.add({
                //     position:p2,
                //     label:{
                //         heightReference:bmgl.HeightReference.CLAMP_TO_GROUND,
                //         text:'b',
                //         font:'14px arial',
                //     }
                // });
                // tmp_inner.push({p:p2});
                tmp_edge.push({p, height: config.width * Math.sin(bmgl.Math.toRadians(90 * i / config.sum))});
            }
            // config.calc_width.push(config.width * Math.cos(bmgl.Math.toRadians(90 * i / config.sum)));
            tmp_edge.push(tmp_edge[0]);
            config.edge.push(tmp_edge);
            // config.inner.push(tmp_inner);
            // viewer.entities.add({
            //     polyline:{
            //         width:new bmgl.ConstantProperty(2),
            //         material:bmgl.Color.BLUE,
            //         // clampToGround:true,
            //         positions:tmp_edge.map(v=>v.p)
            //     }
            // });
        }
        console.log(config);
        calcShow();
    }
    // viewer.flyTo(viewer.entities);
    let handler = new bmgl.ScreenSpaceEventHandler(viewer.canvas);
    handler.setInputAction(function (e) {
        if (!config.draw) return;
        if (config.click === 0) {
            viewer.entities.removeAll();
        }
        let ray = viewer.camera.getPickRay(e.position);
        if (!ray) return;
        let cartesian3 = viewer.scene.globe.pick(ray, viewer.scene);
        config.click++;
        let p = bmgl.Cartographic.fromCartesian(cartesian3);
        switch (config.click) {
            case 1:
                viewer.entities.add({
                    position: cartesian3,
                    label: {
                        text: 'Start',
                        verticalOrigin:bmgl.VerticalOrigin.BOTTOM,
                        heightReference: bmgl.HeightReference.CLAMP_TO_GROUND,
                    }
                });
                config.lng = bmgl.Math.toDegrees(p.longitude);
                config.lat = bmgl.Math.toDegrees(p.latitude);
                config.mouse={lng:config.lng,lat:config.lat};
                config.tmp_label=viewer.entities.add({
                    position:new bmgl.CallbackProperty(function (){
                        return bmgl.Cartesian3.fromDegrees(config.mouse.lng,config.mouse.lat);
                    }),
                    label:{
                        text:'',
                        verticalOrigin:bmgl.VerticalOrigin.BOTTOM,
                        heightReference:bmgl.HeightReference.CLAMP_TO_GROUND,
                        font:'16px arial',
                    }
                });
                config.tmp_line=viewer.entities.add({
                    polyline:{
                        positions:new bmgl.CallbackProperty(function (){
                            return bmgl.Cartesian3.fromDegreesArray([config.lng,config.lat,config.mouse.lng,config.mouse.lat]);
                        }),
                        clampToGround:true,
                        material:bmgl.Color.RED.withAlpha(0.8),
                    }
                });
                config.tmp_line2=viewer.entities.add({
                    polyline:{
                        positions:new bmgl.CallbackProperty(function (){
                            let  p=[];
                            let dd=bmgl.Cartesian3.distance(bmgl.Cartesian3.fromDegrees(config.lng,config.lat),bmgl.Cartesian3.fromDegrees(config.mouse.lng,config.mouse.lat)).toFixed(2);
                            for (let i=0;i<40;i++){
                                var center = bmgl.Cartesian3.fromDegrees(config.lng, config.lat);
                                var heading = bmgl.Math.PI * 2 * i / 40;
                                var hpr = new bmgl.HeadingPitchRoll(heading, 0.0, 0);
                                var transform = bmgl.Transforms.headingPitchRollToFixedFrame(center, hpr);
                                var p1 = bmgl.Matrix4.multiplyByPoint(transform, new bmgl.Cartesian3(dd, 0, 0), new bmgl.Cartesian3());
                                p.push(p1);
                            }
                            p.push(p[0]);
                            return p;
                        }),
                        clampToGround:true,
                        material:bmgl.Color.RED.withAlpha(0.8),
                    }
                });
                break;
            case 2:
                let dd = bmgl.Cartesian3.distance(bmgl.Cartesian3.fromDegrees(config.lng, config.lat), cartesian3);
                // console.log(dd);
                config.width = dd;
                viewer.entities.add({
                    position: cartesian3,
                    label: {
                        text: 'End',
                        verticalOrigin:bmgl.VerticalOrigin.BOTTOM,
                        heightReference: bmgl.HeightReference.CLAMP_TO_GROUND,
                    }
                });
                break;
        }

        if (config.click > 1) {
            //說明已經點擊了兩次,繪制完成了
            viewer.entities.remove(config.tmp_label);
            viewer.entities.remove(config.tmp_line);
            viewer.entities.remove(config.tmp_line2);
            startDraw();
            config.draw = false;
            config.click = 0;
        }
    }, bmgl.ScreenSpaceEventType.LEFT_CLICK);

    handler.setInputAction(function (e){
        if (!config.draw) return;
        if (config.click===1){
            let ray=viewer.camera.getPickRay(e.endPosition);
            if (!ray) return;
            let pp=viewer.scene.globe.pick(ray,viewer.scene);
            pp=bmgl.Cartographic.fromCartesian(pp);
            config.mouse={
                lng:bmgl.Math.toDegrees(pp.longitude),
                lat:bmgl.Math.toDegrees(pp.latitude)
            }
            config.tmp_label.label.text=bmgl.Cartesian3.distance(bmgl.Cartesian3.fromDegrees(config.lng,config.lat),bmgl.Cartesian3.fromDegrees(config.mouse.lng,config.mouse.lat)).toFixed(2)+'米';
        }

    },bmgl.ScreenSpaceEventType.MOUSE_MOVE);
    document.getElementById('start').addEventListener('click', function () {
        config = initConfig();
        config.draw = true;
        //config=initConfig();
    });

    function calcShow() {
        if (!config.edge[config.start]) {
            console.log('all over');
            document.getElementById('step').innerHTML=config.sum+'/'+config.sum;
            return;
        }
        config.edge[config.start].map((v, ii) => {
            var end = bmgl.Cartographic.fromCartesian(v.p);
            end.lng = bmgl.Math.toDegrees(end.longitude);
            end.lat = bmgl.Math.toDegrees(end.latitude);
            let p = [];
            for (let j = 0; j < config.delta; j++) {
                let tp = {
                    lng: config.lng + (end.lng - config.lng) * j / config.delta,
                    lat: config.lat + (end.lat - config.lat) * j / config.delta
                };
                // debugger;
                // if (config.start===6){
                //     viewer.entities.add({
                //         position:bmgl.Cartesian3.fromDegrees(tp.lng,tp.lat),
                //         label:{
                //             text:'k'+j,
                //             heightReference:bmgl.HeightReference.CLAMP_TO_GROUND,
                //         }
                //     });
                // }
                p.push(bmgl.Cartographic.fromCartesian(bmgl.Cartesian3.fromDegrees(tp.lng, tp.lat)));
            }
            let hh = v.height;
            getTerrain(p, ii, (ter, iii) => {
                // debugger;
                ter[ter.length - 1]['height'] = hh;
                config.loaded++;
                let result = showVisible(ter);
                config.edge[config.start][iii]['v'] = result[result.length - 1];
                // viewer.entities.add({
                //     position: config.edge[config.start][iii]['p'],
                //     label: {
                //         text: result[result.length - 1] ? '1' : '0',
                //         heightReference: bmgl.HeightReference.CLAMP_TO_GROUND,
                //     }
                // });

                // var a = bmgl.Cartographic.fromCartesian(config.edge[config.start][iii]['p']);
                // viewer.entities.add({
                //     position: bmgl.Cartesian3.fromDegrees(bmgl.Math.toDegrees(a.longitude), bmgl.Math.toDegrees(a.latitude), hh),
                //     label: {
                //         fillColor: config.edge[config.start][iii]['v'] ? bmgl.Color.BLUE : bmgl.Color.RED,
                //         text: 'X',
                //     }
                // });
                if (config.loaded === config.edge[config.start].length) {
                    //本次圓內已經計算完了
                    let ttt = [];
                    config.edge[config.start].map(v1 => {
                        ttt.push(v1.v);
                    });
                    console.log('index: ' + config.start);
                    document.getElementById('step').innerHTML=config.start+'/'+config.sum;
                    let all_seen = Array.from(new Set(ttt));
                    if (all_seen[0] && all_seen.length === 1) {
                        config.all_seen = config.start;
                        document.getElementById('step').innerHTML=config.sum+'/'+config.sum;
                        for (let j=config.start;j<config.edge.length;j++){
                            drawLine(config.edge[j].map(v=>{
                                v.v=true;
                                return v;
                            }));
                        }
                        //第二次繪畫
                        for (let i=0;i<config.sum;i++){
                            let tmp=[];
                            for (let j=0;j<config.sum;j++){
                                tmp.push(config.edge[j][i]);
                            }
                            tmp.push({v:true,p:bmgl.Cartesian3.fromDegrees(config.lng,config.lat,config.width)});
                            drawLine(tmp);
                            // console.log(tmp);
                        }
                        return;
                    }
                    drawLine(config.edge[config.start]);
                    config.loaded = 0;
                    config.start++;
                    calcShow();
                }
            });
            // viewer.entities.add({
            //     position:v.p,
            //     label:{
            //         text:'c',
            //         heightReference:bmgl.HeightReference.CLAMP_TO_GROUND,
            //     }
            // })
        });
    }


    function drawLine(data) {
        // console.log(data);
        let path = [];
        let tmp = [data[0]];
        let prev = data[0]['v'];
        for (let j = 1; j < data.length; j++) {
            let v = data[j];
            tmp.push(v);
            if (prev !== v.v) {
                if (tmp.length > 1) {
                    let m;
                    if (prev) {
                        m = bmgl.Color.BLUE;
                    } else {
                        m = bmgl.Color.RED;
                    }
                    console.log('tmp index length : ' + tmp.length);
                    viewer.entities.add({
                        polyline: {
                            material: m,
                            positions: tmp.map(v => v.p),
                        }
                    });
                    // path.push({v:start,path:[...JSON.parse(JSON.stringify(tmp))]});
                    tmp.length = 0;
                    tmp.push(v);
                }
                prev = v.v;
            }
        }

        if (tmp.length > 1) {
            let m;
            if (prev) {
                m = bmgl.Color.BLUE;
            } else {
                m = bmgl.Color.RED;
            }
            console.log('tmp index' + tmp.length);
            viewer.entities.add({
                polyline: {
                    material: m,
                    positions: tmp.map(v => v.p),
                }
            });
        }
        console.log(path);
    }

    function getTerrain(position, i, callback) {
        // bmgl.sampleTerrain(viewer.terrainProvider,8,position).then(data=>{
        //     try {
        //         if (data.length > 0) callback(data, i);
        //     } catch (e) {
        //         console.log(e);
        //     }
        // });
        bmgl.sampleTerrainMostDetailed(viewer.terrainProvider, position).then(data => {
            try {
                if (data.length > 0) callback(data, i);
            } catch (e) {
                console.log(e);
            }
        })
    }

    function showVisible(terrainData) {
        var preVisible = true;
        var cartesiansLine = [];
        var colors = [true];
        for (var j = 1; j < terrainData.length; j++) {
            //逐點計算可見性
            var visible = true;//該點可見性
            if (j > 1) {
                var cartographicCenterHV = new bmgl.Cartographic(terrainData[0].longitude, terrainData[0].latitude, terrainData[0].height + config.height);
                if (preVisible) {
                    var curPoint = InterpolateIndexLineHeightCartographic(cartographicCenterHV, terrainData[j], j, j - 1);
                    if (curPoint.height >= terrainData[j - 1].height) {
                        preVisible = true;
                        visible = true;
                    } else {
                        preVisible = false;
                        visible = false;
                    }
                } else {
                    //插值到當前
                    var curPointArr = Interpolate2IndexLineHeightCartographic(cartographicCenterHV, terrainData[j], j, j - 1);
                    for (var k = 0; k < curPointArr.length; k++) {
                        if (curPointArr[k].height >= terrainData[k].height) {
                            preVisible = true;
                            visible = true;
                        } else {
                            preVisible = false;
                            visible = false;
                            break;
                        }
                    }
                }
            }
            // var cartesianTemp = bmgl.Cartesian3.fromRadians(terrainData[j].longitude, terrainData[j].latitude, terrainData[j].height + 0.10);
            // cartesiansLine.push(cartesianTemp);
            //繪制點
            colors.push(visible);
        }
        return colors;

    }

    function Interpolate2IndexLineHeightCartographic(start, end, num, curIndex) {
        if (start && end) {
        } else {
            return null;
        }
        if (start.longitude && start.latitude && end.longitude && end.latitude) {
        } else {
            return null;
        }
        var result = [];
        result.push(new bmgl.Cartographic(start.longitude, start.latitude, start.height));
        var stepLon = (end.longitude - start.longitude) / num;
        var stepLat = (end.latitude - start.latitude) / num;
        var stepHeight = (end.height - start.height) / num;
        for (var i = 0; i < curIndex; i++) {
            var lon = start.longitude + (i + 1) * stepLon;
            var lat = start.latitude + (i + 1) * stepLat;
            var hieght = start.height + (i + 1) * stepHeight;
            result.push(new bmgl.Cartographic(lon, lat, hieght));
        }
        return result;
    }

    function InterpolateIndexLineHeightCartographic(start, end, num, index) {
        if (start && end) {
        } else {
            return null;
        }
        if (start.longitude && start.latitude && end.longitude && end.latitude) {

        } else {
            return null;
        }
        //var delta = _Delta && (typeof _Delta === 'number') ? _Delta : DeltaRadian;
        var stepLon = (end.longitude - start.longitude) / num;
        var stepLat = (end.latitude - start.latitude) / num;
        var stepHeight = (end.height - start.height) / num;
        var lon = start.longitude + index * stepLon;
        var lat = start.latitude + index * stepLat;
        var hieght = start.height + index * stepHeight;
        var result = new bmgl.Cartographic(lon, lat, hieght);
        return result;
    }
</script>
                                                                                
主站蜘蛛池模板: 亚洲一级色 | 日日操夜夜草 | 国精品无码一区二区三区左线 | 成人久色 | 永久免费网站直接看 | 亚洲精品欧美二区三区中文字幕 | 老子影院午夜精品无码 | 美女三级黄色片 | 寂寞d奶大胸少妇 | 中文字幕亚洲欧美日韩 | 免费视频a | 国产乱码在线 | 日本加勒比中文字幕 | 中文字幕在线不卡一区二区 | 日韩在线视频播放 | √天堂在线 | 9久久9毛片又大又硬又粗 | 国产精品九九 | 亚洲另类激情综合偷自拍图 | 精品久久久久久无码免费 | 欧美肥妇视频 | 日韩精品一卡2卡3卡4卡分类 | 一级少妇精品久久久久久久 | 亚洲天堂第一区 | 成人特级毛片 | 一级免费黄色 | 伊人性视频 | 深夜av| 免费毛片a线观看 | 国产春色 | 亚洲欧美在线成人 | 国产一区二区三区在线免费 | 懂色av一区| 欧美人狂配大交3d怪物一区 | av免费资源| 国产一区二区自拍视频 | 激情久久久久久久 | 中文字幕第23页 | 亚洲乱码日产精品bd在线观看 | 黄色片免费在线 | 国产夜色精品一区二区av | av片在线免费 | 一区二区久久久久 | 99热免费在线观看 | 免费一级做a爰片久久毛片潮 | 女人色偷偷aa久久天堂 | 国产av新搬来的白领女邻居 | a黄色毛片 | 免费无码一区二区三区a片百度 | 欧美日韩国产一区二区三区 | 麻豆成人久久精品二区三区免费 | 国内精品久久久久久中文字幕 | 国产精品无套 | 激情图片在线视频 | 狠狠色成色综合网 | www国产高清| 亚洲第一综合色 | 激情影院内射美女 | av女优天堂在线观看 | 精品国产乱码一区二区三 | 少妇搡bbbb搡bbb搡打电话 | 亚洲精品乱码久久久久 | 久久久.com | 激情综合五月 | 91视频免费在观看 | a毛片毛片av永久免费 | 另类αv欧美另类aⅴ | 国产麻豆剧果冻传媒白晶晶 | 亚洲色无码专区在线观看 | 欧美三级三级三级爽爽爽 | 玖玖久久| 77777亚洲午夜久久多人 | 51国产偷自视频区视频小蝌蚪 | 欧美亚精品suv | 亚洲乱码日产精品bd在线 | 国产午夜精品一区理论片飘花 | 日韩av成人在线 | 四虎影视成人永久免费观看视频 | 久久有精品 | 69影院在线观看 | n0659极腔濑亚美莉在线播放播放 | 狠狠干b | 黑人日批视频 | 日本草草视频 | 国产男女免费完整视频 | 性色av网址 | 手机在线一区二区三区 | 人妻少妇无码精品视频区 | 热99精品 | 国产甜淫av片免费观看 | 女人被弄到高潮的免费视频 | 色综合av综合无码综合网站 | 天干天干天啪啪夜爽爽av小说 | 天天毛片 | 国产一区二区网站 | 老司机午夜影院 | 99精品久久精品一区二区 | 国产亚洲二区 | 人人爽人人澡人人人妻 | 羞羞视频在线观看免费观看 | 黄色片一区| 国产男人的天堂 | 久久精品66 | 成年人免费在线观看视频网站 | 色哟哟一区二区三区精华液 | 日韩91视频 | 日韩无套 | 2020久久香蕉国产线看观看 | 人人做人人爱人人爽 | 亚洲性视频 | 外国成人| 精品国产乱码久久久久久浪潮 | 国产色视频网站 | 亚洲三区av | 91免费视频 | 国产美女精品一区二区三区 | 欧美在线看片a免费观看 | 精品国产亚洲一区 | jlzzjizz亚洲学生好多水 | 中文字幕乱码在线 | 少妇被粗大猛进进出出 | 亚洲黄色毛片 | 99爱国产| 中文字幕av日韩精品一区二区 | aⅴ天堂网 | 久久精品水蜜桃av综合天堂 | 疯狂做受xxxx欧美肥白少妇 | 日韩伦理在线视频 | 一本色道婷婷久久欧美 | 日本精品一区二区三区在线观看 | 成人一级黄色 | 中文字幕乱码视频 | 久久久www成人免费毛片 | 一本无码av中文出轨人妻 | 国产又粗又猛又爽视频上高潮69 | 国产精品久久久久久久久久久久久久久 | 催眠调教邻居美人若妻在线播放 | 国产无区一区二区三麻豆 | 99精品国产九九国产精品 | 日韩欧美在线中文字幕 | 亚洲gv天堂gv无码男同 | 一本久久a久久精品综合 | 国产96在线 | 欧美 | 亚洲一区二区女搞男 | 日韩国产欧美一区 | 久久久综合香蕉尹人综合网 | 免费一级特黄3大片视频 | 调教驯服丰满美艳麻麻在线视频 | 交视频在线播放 | 久久躁狠狠躁夜夜av | 久久久久久久久无码精品亚洲日韩 | 成人网在线视频 | 一本久久精品一区二区 | 女邻居丰满的奶水 | 国产免费无码一区二区视频 | 国产女人精品视频 | 爱情岛亚洲论坛入口福利 | 中文字幕69页 | 日本中文字幕在线观看 | 久久精品无码专区免费东京热 | 欧美精品一区二区三区免费视频 | 国产精品视频网址 | 米奇777超碰欧美日韩亚洲 | 免费成人黄色片 | 国产精品爽爽久久久久久豆腐 | 俄罗斯xxxx性全过程 | 亚洲男女一区二区三区 | 99精品国产免费 | 最新国产aⅴ精品无码 | 国产人妖ts重口系列喝尿视频 | 久久久综合婷婷精品国产一区影院 | 欧美亚洲一级 | 亚洲精品一区二区三区丝袜 | 亚洲色偷偷av男人的天堂 | 亚洲一区图片 | 国产成人亚洲欧洲在线 | 国产精品免费vv欧美成人a | 天天搞天天搞 | 国产视频一区在线播放 | 最新版天堂资源中文在线 | 成人综合站 | 久久精品视频国产 | 精品一区二区三区在线观看视频 | 色播在线视频 | 午夜国产在线观看 | 四川少妇性色xxxxhd | 久久中文字幕一区二区 | 国产青青青 | 淫视频网站| av九九九 | 桥本有菜aⅴ一区二区三区 桥本有菜免费av一区二区三区 | 国产成人久久婷婷精品流白浆 | 鲁丝一区二区三区免费 | 国产成人a∨激情视频厨房 国产精品无码一区二区三级 | 亚洲最大av番号库 | 一a一片一级一片啪啪 | av超碰| 国产精品9999久久久久 | 中文字幕精品久久久久人妻红杏ⅰ | 亚洲免费av网站 | 97视频在线观看播放 | 精品www| 国产成人免费高清激情视频 | 肉色超薄丝袜脚交69xx | 亚洲不卡中文字幕 | 欧美~大家屁股网站 | 中国理伦片在线 | 手机在线看a | jav成人av免费播放 | 国产欧美三级 | 人妻少妇av中文字幕乱码 | 激情丁香六月 | 40一50一60老女人毛片 | 男人的天堂日韩 | 黄色在线免费观看视频 | 韩国呻吟大尺度激情视频 | 嫩草网站在线观看 | 夜夜春亚洲嫩草影院 | 日韩视频免费看 | 天天干夜夜操视频 | 91视频在线观看网站 | 99久久国产福利自产拍 | 十大黄台在线观看 | 欧美一区二区日韩国产 | 国产精品粉嫩懂色av | 这里只有精品在线播放 | 欧美精品久久久久久久免费 | 成人性做爰av片免费看 | 国产午夜福利片 | 成人免费视 | 国产精品久久av一区二区三区 | 久久国产香蕉视频 | 污污网站在线免费观看 | 夜夜爱爱 | 四虎国产永久在线精品 | 99热这里只有精品2 99热这里只有精品3 | 丰满岳妇伦在线播放 | 国产精品入口日韩视频大尺度 | 久久久女女女女999久久 | 亚洲码视频 | 久久久久久欧美 | 中文字幕亚洲色妞精品天堂 | 国产真实乱人偷精品 | 永久免费在线 | 人与兽黄色毛片 | 国产精品人妖 | 欧美一级做a爰片免费视频 欧美一级做性受免费大片免费 | 欧洲熟妇色 欧美 | av黄色小说| 精品国产网 | 男女日批视频 | 国产一区二区三区中文字幕 | 欧美性xxxxxx | 欧美狠狠 | 国产日日干 | 久久精品一二 | 亚洲日韩欧洲乱码av夜夜摸 | 五月天在线观看 | 最大胆裸体人体牲交 | 2021久久精品国产99国产精品 | 久欠精品国国产99国产精2021 | 天天艹天天 | 日日操狠狠干 | 91视频 - 114av| 外国黄色网 | 最新国产精品精品视频 | 真人与拘做受免费视频一 | 国产美女自慰在线观看 | 欧洲熟妇色xxxx欧美老妇软件 | 成年人免费在线 | 欧美影院成年免费版 | 国产精品岛国久久久久 | 毛片日本| 久久九九爱 | 久久久精品美女 | 18精品久久久无码午夜福利 | 黄色录像毛片 | 亚洲无人区午夜福利码高清完整版 | 福利在线一区 | 香港av在线 | 尤物精品| а 天堂 在线 | 欧美乱妇高清无乱码免费 | 在线v片免费观看视频 | 国内老熟妇对白xxxxhd | 二区三区在线观看 | a级大片免费看 | 人妻夜夜爽天天爽三区麻豆av网站 | 欧美xxxx黑人又粗又长 | 一级成人欧美一区在线观看 | 国产一区二区免费在线 | 精品成人佐山爱一区二区 | 搡老女人老妇女老熟妇 | 日韩毛片网站 | 久久久国产精品亚洲一区 | 日韩欧美在线观看视频 | 成人欧美一区二区三区黑人冫 | 欧美色图3p | 亚洲视频五区 | 日本系列 1页 亚洲系列 | 最新中文字幕久久 | 超碰人人超| 干干日日 | 午夜成人爽爽爽视频在线观看 | 欧美亚洲综合网 | 中国肥老太婆高清video | 亚洲人ⅴsaⅴ国产精品 | 少妇玉梅高潮久久久 | 欧美成人精品三级在线观看播放 | 成人免费xyz网站 | 国内三级视频 | 国产偷人妻精品一区二区在线 | 7777奇米影视| 国产午夜福利精品一区二区三区 | 国产青青草 | 欧美性做爰大片免费 | 亚洲女子a中天字幕 | 国产中年夫妇高潮精品视频 | 夜夜撸av | 操欧美女 | 亚洲加勒比久久88色综合 | 亚洲欧美成人综合 | 久久精品国产亚洲一区二区 | 婷婷伊人五月天 | 亚洲国产精品成人天堂 | 国产无遮挡又黄又爽免费网站 | 色偷av| 国产一级特黄aa大片出来精子 | 亚洲无人区码一码二码三码的含义 | 激情综合网婷婷 | 久久久夜夜夜 | 欧美日韩国产在线播放 | 久久精品国产精品国产一区 | 农民人伦一区二区三区 | 少妇影院在线观看 | 少妇高潮露脸国语对白 | 国产精品嫩草影院av蜜臀 | 无码137片内射在线影院 | 日韩精品高清在线 | 不卡av在线| 夜夜摸日日躁欧美视频 | 欧美日韩成人一区二区 | 亚洲精品视频国产 | 轻点好疼好大好爽视频 | 喷水在线观看 | 成人自拍av| 国产又粗又猛又爽又黄又 | 精品久操| 成人香蕉视频在线观看 | 性疯狂做受xxxx高清视频 | 亚洲人吸女人奶水 | 成年午夜无码av片在线观看 | 痞帅大猛xnxx精品打桩 | 中文字幕在线亚洲 | www.激情网.com| 女人大荫蒂毛茸茸视频 | 中文字幕日本在线 | 国产亚洲精品久久久网站好莱 | 亚洲国产精品视频一区 | 国产精品免费视频一区二区 | 欧美一二三级 | 97超级碰碰人妻中文字幕 | 一区二区久久久久 | 海角国产乱辈乱精品视频 | 日日草天天干 | 亚洲区在线播放 | 国产午夜精品一区二区三区不卡 | 波多野结衣免费一区视频 | 国产调教在线 | 我要看一级片 | 好色视频tv| 日韩精品在线观看中文字幕 | 国产精品久久久久久久免费大片 | 国产又黄又爽又色的视频 | 久草在线这里只有精品 | 色老大影院 | 99久久无码一区人妻 | 能在线看的av | 成年性午夜免费视频网站 | 极品女神爆呻吟啪啪 | 一区二区三区精品国产 | 美女又爽又黄网站视频 | 欧美在线观看不卡 | 国产91一区 | jzzijzzij日本成熟丰满少妇 | 久久综合久久鬼色 | 国产精品suv一区二区69 | 欧美一区二区三区激情视频 | 国产成a人亚洲精品无码久久网 | 好吊在线视频 | 祥仔av大片av免费看 | 97资源共享在线视频 | 色一情一乱一乱一区99av白浆 | 欧美日韩精品一区二区在线播放 | 亚洲最大网 | 大动漫美女禁视频 | 欧美黄网址 | 俄罗斯伦理精品a级 | 久久久麻豆精品一区二区 | 国产又粗又猛又爽又黄的视频p站 | 国产精品沙发午睡系列990531 | 亚洲国产精品高潮呻吟久久 | 亚洲精品美女视频 | 久久久久国产一区二区三区 | 99精品视频在线播放免费 | 日韩人妻系列无码专区 | 情欲按摩院同性3 | aⅴ天堂网 | jizz黄| 一级黄色性生活视频 | 人人爽久久涩噜噜噜av | 国产一精品久久99无吗一高潮 | 久久99热婷婷精品一区 | 欧美成免费 | 国产新婚疯狂做爰视频 | 奇米影视四色7777 | 秋霞在线观看秋 | 亚洲区综合| 91原创视频 | 国产精品色图 | 色婷av | 五月香婷婷 | 国产极品免费 | 99精品国产99久久久久久97 | 欧美性受xxxx白人性爽 | 人妻少妇av中文字幕乱码 | 久久人精品 | 日韩草逼视频 | 99久久婷婷国产综合精品 | 一区二区在线视频播放 | 国产人妻人伦精品 | 啦啦啦中文在线观看日本 | 久久人人爽人人爽人人片av高清 | 少妇性俱乐部纵欲狂欢电影 | 国产三区二区 | 国产成人午夜福利在线播放 | 色哟哟免费 | 日日噜噜夜夜狠狠久久波多野 | 在线播放亚洲第一字幕 | 国产精品欧美久久久久一区二区 | 国产露脸xxⅹ69 | 在线免费av网 | 黄色三级小视频 | 国产精品4 | 久久九精品 | 国产成人无码av一区二区 | 97久久偷偷做嫩草影院免费看 | 国内精品久久久久伊人av | 中文字幕无码日韩专区 | 久久久久免费看成人影片 | 免费观看毛片网站 | 日韩精品一区二区三区在线观看视频网站 | 无遮挡国产高潮视频免费观看 | 老女人任你躁久久久久久老妇 | 欧美成人另类 | 无码日韩精品一区二区人妻 | 高潮毛片又色又爽免费 | 日韩视频h | 欧美色婷婷 | 17c在线视频在线观看 | 久久久精品国产免大香伊 | 韩日一区二区 | 国产精品无码翘臀在线观看 | 亚洲精品国产成人 | 性生活在线视频 | 欧美国产一区二区三区激情无套 | 免费看一级黄色毛片 | 91久久精品一区二区三区大 | 日韩美女久久 | 最新超碰在线 | 九九福利视频 | 国产小视频你懂的 | 老男人久久青草av高清 | 屁屁影院一区二区三区 | 亚洲国产欧美日本视频 | 人人超碰人摸人爱 | 日韩一区二区三区在线 | 欧美激情日韩 | 亚洲精品久久久久久动漫器材一区 | 亚洲拍拍视频 | 少妇伦子伦精品无吗在线观看 | 99在线视频观看 | 欧美亚洲另类视频 | 精品国产99 | 7777精品久久久大香线蕉 | 亚洲一区二区综合 | 人妻人人添人妻人人爱 | 天天干夜夜操视频 | 好男人蜜桃av久久久久久蜜桃 | 区一区二在线观看 | 免费观看成年人网站 | 三级自拍| 又爽又黄axxx片免费观看 | 亚洲精品沙发午睡系列 | 日本黄视频在线观看 | 九九九久久国产免费 | 爱色av.com| 91丨国产| 三级毛片在线 | 亚洲高清无专砖区 | 中国色老太hd | 日韩毛片在线视频x | 人妻一本久道久久综合久久鬼色 | 久久久国 | 黄色大片aa | 国色天香久久久久久久小说 | 韩国午夜理论在线观看 | 都市激情av| 爱插网| 国产又黄又大又粗的视频 | 另类色综合| 91精品国产高清一区二区三区 | 福利在线观看 | 亚洲自偷自拍熟女另类 | 激情视频在线观看免费 | 天天综合网网欲色 | 1024欧美| 国产成人无码18禁午夜福利p | 青青导航| 欧美99精品 | 国产精品无码无在线观看 | 中国老妇淫片aaaa | 国产精品无码不卡一区二区三区 | 精品国产1区 | 久久国产精品影视 | 国产又粗又硬又猛的免费视频 | 中文字幕亚洲精品日韩 | 亚洲欧美日韩成人在线 | 自拍成人福利视频免费在线观看 | 狠狠色狠狠色 | 亚洲精品九九 | 国产精品久久久久久久成人午夜 | 国产高潮流白浆喷水视频 | 亚洲一二三四区五区 | 99热超碰| 中日毛片 | 污污网站在线免费观看 | 国内精品久久久久久99蜜桃 | 在线毛片网站 | 免费av不卡 | 精品少妇一区二区三区四区五区 | 羞羞的视频网站 | 国产在线观看www | 99re只有精品 | gg国产精品国内免费观看 | 免费观看久久 | 狠狠色噜噜狠狠狠7777奇米 | 国产又粗又猛又爽又黄的 | 爱爱视频日本 | 涩涩成人网 | 干美女av | 1024国产视频 | 天天插美女 | 成人xvideos免费视频 | 青青草日韩 | 午夜寂寞少妇 | 在线免费观看黄视频 | 亚洲欧美日韩精品在线观看 | 国产91精品看黄网站在线观看动漫 | 污污网站在线观看视频 | 人妻无码中文专区久久五月婷 | 国产视频资源 | 人妖精品videosex性欧美 | aaa亚洲精品一二三区 | 国产精品一区二区三 | www黄色| 国产日韩欧美亚欧在线 | 中文字幕天天躁日日躁狠狠躁免费 | 亚洲欧美日韩国产精品 | 国产三级在线观看免费 | 少妇饥渴偷公乱第95 | 成人网免费视频m3u8 | 鲁鲁狠狠狠7777一区二区 | 国产午夜亚洲精品理论片色戒 | 美女mm131爽爽爽免费动视频 | av天堂午夜精品一区 | 久久国产成人午夜av影院 | 日韩1区3区4区第一页 | 91麻豆视频在线观看 | 护士脱了内裤让我爽了一夜视频 | 九九99靖品| 成年人免费看黄色 | 日韩美女一区 | 亚洲视频图片小说 | 全球成人中文在线 | 精品视频一区二区三区四区五区 | 欧美超大胆裸体xx视频 | 五月婷婷丁香在线 | 久久精品国内一区二区三区 | 岛国裸体写真hd在线 | 蜜臀av无码人妻精品 | 亚洲天堂一二三 | 怡红院av亚洲一区二区三区h | 国产成人av影院 | 久操av在线| 青草超碰| 国产91精品久久久 | 欧美特黄一级视频 | 深夜福利小视频在线观看 | 欧美日韩国产精品久久 | 日韩视频免费观看 | 精品女同一区二区三区在线观看 | 国产精品成人免费精品自在线观看 | 在线视频精品中文无码 | 日韩精品极品 | 女同av在线播放 | 午夜av福利 | 老司机成人永久免费视频 | 软萌小仙自慰喷白浆 | 婷婷狠狠干 | 狼人久草| wwwav黄色| 无套内谢少妇高潮免费 | 午夜免费视频 | 中文字幕久久久久人妻 |