亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

基于Vue與Three.js的中國(guó)3D地圖可視化大屏實(shí)戰(zhàn)解析

基于Vue與Three.js的中國(guó)3D地圖可視化大屏實(shí)戰(zhàn)解析 簡(jiǎn)介本資源是一個(gè)基于Three.js與Vue.js實(shí)現(xiàn)的交互式中國(guó)3D地理可視化項(xiàng)目面向前端開發(fā)者、GIS初學(xué)者及Web 3D技術(shù)實(shí)踐者解決傳統(tǒng)二維地圖缺乏空間感知與動(dòng)態(tài)交互的問題適用于數(shù)字孿生、政務(wù)可視化、教學(xué)演示等場(chǎng)景。壓縮包共2000個(gè)文件主體為2002個(gè)JavaScript文件含three.module.js、web-ifc-api.js等核心3D庫(kù)、165個(gè)JSON格式地理數(shù)據(jù)與配置文件、50個(gè)Markdown文檔說明及少量CSS/HTML資源整體體積11.35MB結(jié)構(gòu)模塊清晰涵蓋場(chǎng)景初始化、省份網(wǎng)格建模、相機(jī)控制、光照紋理配置與Vue響應(yīng)式狀態(tài)管理邏輯。已有3829人學(xué)習(xí)下載提供開箱即用的Three-chinaMap-Demo.html入口完整包含地形渲染、鼠標(biāo)拖拽縮放、區(qū)域點(diǎn)擊高亮、LOD性能優(yōu)化等可運(yùn)行功能是深入理解WebGL封裝、Vue 3D狀態(tài)聯(lián)動(dòng)與大規(guī)模地理數(shù)據(jù)可視化的優(yōu)質(zhì)實(shí)踐樣本。 去年接了一個(gè)展廳數(shù)據(jù)可視化需求要在現(xiàn)場(chǎng)大屏上放一張中國(guó)3D地圖能看省份海拔差異、重點(diǎn)城市分布、還有點(diǎn)擊省份彈出業(yè)務(wù)數(shù)據(jù)。當(dāng)時(shí)第一反應(yīng)就是用 Three.js因?yàn)橐氖钦嫒S不是那種用 CSS 搞出來的偽 3D。整個(gè)項(xiàng)目最終用 Vue Three.js 完成前后大概兩周時(shí)間踩了不少坑也總結(jié)出一套可以直接復(fù)用的流程。這篇文章就把整個(gè)項(xiàng)目從技術(shù)選型到核心實(shí)現(xiàn)、再到坑位排查完整拆一遍希望對(duì)正在做 Web 3D 可視化大屏的朋友有幫助。先說結(jié)論Vue 負(fù)責(zé)頁面骨架、交互狀態(tài)和業(yè)務(wù)數(shù)據(jù)Three.js 負(fù)責(zé)地圖渲染和三維場(chǎng)景兩者通過組件生命周期綁定用 ref 掛載 DOM用 reactive 驅(qū)動(dòng)場(chǎng)景狀態(tài)。這套分工在實(shí)操里非常順也是后文展開的主線。1. 為什么是 Three.js Vue而不是其他方案1.1 Three.js 到底解決了什么問題很多人會(huì)問地圖可視化用 ECharts 或者 Mapbox 不就行了為什么還要上 Three.js我的回答是視業(yè)務(wù)目標(biāo)而定。ECharts 的 map3D 確實(shí)能做出帶擠出效果的 3D 地圖但它的擴(kuò)展邊界很明顯——你想在某個(gè)城市上方放一個(gè)動(dòng)態(tài)波紋標(biāo)記、想從北京畫一條飛到烏魯木齊的曲線、想讓相機(jī)沿著某個(gè)路徑自動(dòng)巡航這些在 ECharts 里做起來要么依賴 hack要么干脆做不了。Three.js 是底層 WebGL 渲染引擎本質(zhì)上是給你一塊自由的 3D 畫布地圖只是你在這塊畫布上搭出來的一個(gè)場(chǎng)景而已。換句話說Three.js 不是“地圖庫(kù)”它比地圖庫(kù)更底層也更靈活。這次項(xiàng)目里實(shí)際用到的高頻能力包括幾何體擠出ExtrudeGeometry、多邊形輪廓線、Raycaster 點(diǎn)擊拾取、OrbitControls 相機(jī)控制、Sprite 標(biāo)記點(diǎn)、CatmullRomCurve3 飛線。這些在 Three.js 里都是成熟能力組合起來就能做出一張交互感很強(qiáng)的中國(guó)3D地圖。1.2 Vue 在這里不是主角但離了它很別扭地圖主體雖然是 Three.js 干的但整個(gè)頁面不可能只有一張地圖左側(cè)要放省份數(shù)據(jù)排行右側(cè)要放選中省份的詳情面板底部可能還有時(shí)間軸篩選。這些 UI 和地圖之間需要聯(lián)動(dòng)比如鼠標(biāo)懸停到某個(gè)省右側(cè)面板實(shí)時(shí)更新點(diǎn)擊某個(gè)省地圖視角飛過去。如果純用原生 JS 寫這些狀態(tài)管理會(huì)非常痛苦而 Vue 的響應(yīng)式數(shù)據(jù)天生就適合干這事。我的做法是把“當(dāng)前選中省份”“當(dāng)前懸停省份”這類狀態(tài)放在 Vue 的 reactive 對(duì)象里Three.js 側(cè)監(jiān)聽這些狀態(tài)變化對(duì)應(yīng)更新地圖材質(zhì)顏色、相機(jī)位置、UI 面板內(nèi)容。反過來Three.js 的 Raycaster 拾取到省份后修改的也是 Vue 的響應(yīng)式對(duì)象這樣 UI 和 3D 場(chǎng)景就形成了一個(gè)閉環(huán)數(shù)據(jù)流。這個(gè)思路對(duì)于所有用 Three.js 做數(shù)據(jù)可視化大屏的項(xiàng)目都適用。2. 環(huán)境搭建與地圖數(shù)據(jù)預(yù)處理2.1 快速初始化 Vue3 Vite Three.js 開發(fā)環(huán)境這個(gè)項(xiàng)目我用的 Vite 而不是 Vue CLI原因很簡(jiǎn)單Vite 冷啟動(dòng)快、熱更新快在開發(fā)階段會(huì)舒服很多。Node.js 版本用的是 18直接按官方文檔創(chuàng)建命令如下npm create vitelatest china-3d-map -- --template vue cd china-3d-map npm install npm install three npm install --save-dev unplugin-auto-import unplugin-vue-components裝完以后先確認(rèn)一下 three 的版本。我寫這篇文章時(shí) three 已經(jīng)到 0.160 了API 基本穩(wěn)定下面示例代碼在 0.150 ~ 0.170 之間都能跑。不過要注意一個(gè)小變化新版本里THREE.Geometry已經(jīng)移除很久了所有幾何體都是BufferGeometry寫代碼時(shí)別再用舊 API。項(xiàng)目里還需要引入地圖 GeoJSON 數(shù)據(jù)。中國(guó)省份邊界的 GeoJSON 可以在阿里云 DataV 的公開數(shù)據(jù)集里拿到搜索“china.json”或者“中國(guó)地圖 geojson”就能找到。我用的這份數(shù)據(jù)包含了省份名稱、adcode、以及對(duì)應(yīng)的多邊形坐標(biāo)數(shù)組格式是標(biāo)準(zhǔn)的 GeoJSON FeatureCollection。2.2 GeoJSON 坐標(biāo)數(shù)據(jù)解析從經(jīng)緯度到 3D 平面坐標(biāo)拿到 GeoJSON 以后第一步不是急著渲染而是把經(jīng)緯度坐標(biāo)轉(zhuǎn)換成 Three.js 場(chǎng)景里能用的平面坐標(biāo)。這里面有個(gè)新手最容易踩的坑直接把經(jīng)緯度當(dāng)成 x/y 用。中國(guó)地圖的大致范圍是經(jīng)度 73°~135°、緯度 18°~54°如果你原樣用這組數(shù)字去創(chuàng)建幾何體地圖確實(shí)能顯示出來但它會(huì)跑到坐標(biāo)軸的右上方很遠(yuǎn)的地方而且比例失衡相機(jī)很難定位。比較穩(wěn)妥的做法是先計(jì)算整個(gè)數(shù)據(jù)集的最小/最大經(jīng)緯度然后按比例映射到一個(gè)以原點(diǎn)為中心的矩形區(qū)域內(nèi)。下面是我項(xiàng)目里實(shí)際用的投影函數(shù)function normalizeGeoJSON(features, width 100, height 100) { // 1. 計(jì)算經(jīng)緯度范圍 let minLon Infinity, maxLon -Infinity; let minLat Infinity, maxLat -Infinity; features.forEach(feature { const coords getAllCoordinates(feature); coords.forEach(([lon, lat]) { minLon Math.min(minLon, lon); maxLon Math.max(maxLon, lon); minLat Math.min(minLat, lat); maxLat Math.max(maxLat, lat); }); }); // 2. 計(jì)算等比縮放比例保持地圖不變形 const xScale width / (maxLon - minLon); const yScale height / (maxLat - minLat); const scale Math.min(xScale, yScale); // 3. 返回一個(gè)經(jīng)緯度轉(zhuǎn) x/y 的函數(shù) return function project(lon, lat) { const x (lon - minLon) * scale - width / 2; const y (lat - minLat) * scale - height / 2; return { x, y }; }; } function getAllCoordinates(feature) { // GeoJSON 可能是 Polygon 也可能是 MultiPolygon統(tǒng)一拍平處理 const geometry feature.geometry; if (geometry.type Polygon) return geometry.coordinates.flat(); if (geometry.type MultiPolygon) return geometry.coordinates.flat(2); return []; }這里有個(gè)細(xì)節(jié)值得多說一句為什么用Math.min(xScale, yScale)而不是分別用 x 和 y 方向的縮放因?yàn)槿绻蝗〉缺壤貓D的橫向和縱向會(huì)被拉伸中國(guó)地圖看起來會(huì)比實(shí)際“胖”或者“瘦”。很多教程沒提這一點(diǎn)做完以后地圖輪廓總覺得不對(duì)勁其實(shí)就是這里出了問題。等比例縮放犧牲的是一部分展示面積但換來的地圖形狀保真是完全值得的。2.3 三種可選的“高度”數(shù)據(jù)來源這個(gè)項(xiàng)目標(biāo)題叫“3D地圖”3D 體現(xiàn)在哪里最直觀的就是每個(gè)省份的墻體和擠出高度。在實(shí)操里高度數(shù)據(jù)常見有三種來源真實(shí)地形高程比如 NASA 的 SRTM 30米分辨率 DEM 數(shù)據(jù)但處理起來很麻煩需要切片、讀像素值對(duì)前端來說成本太高一般不做業(yè)務(wù)指標(biāo)映射比如各省 GDP、人口、銷售額用數(shù)值大小決定擠出高度這是大屏項(xiàng)目最常用、也是效果最直觀的方案模擬海拔如果只是想要一個(gè)酷炫的展示效果并不需要反映真實(shí)業(yè)務(wù)數(shù)據(jù)那可以直接給每個(gè)省份設(shè)定一個(gè)“虛擬海拔”比如西藏高度 5000四川 1000你只需要維護(hù)一個(gè)省名對(duì)應(yīng)高度的字典就行。我這次項(xiàng)目一開始用了真實(shí)海拔數(shù)據(jù)模擬方案后來客戶要求能反映業(yè)務(wù)數(shù)據(jù)變化于是改成按指標(biāo)映射高度。建議你把高度計(jì)算抽成一個(gè)函數(shù)后續(xù)切換數(shù)據(jù)源會(huì)非常方便function getProvinceHeight(provinceName, data) { const value data[provinceName] || 0; return 3 value * 20; // 最低 3 個(gè)單位最高根據(jù)數(shù)據(jù)自適應(yīng) }實(shí)踐下來如果所有省份高度都是平的比如都是 3地圖看起來就是一張“餅”沒有立體感。至少要保證西藏、青海、云南這些區(qū)域比東部省份高一點(diǎn)視覺上才有“中國(guó)地勢(shì)三級(jí)階梯”的感覺。這雖然不是真實(shí)地理數(shù)據(jù)但觀眾的直覺會(huì)覺得“對(duì)就是這種感覺”。3. 核心功能拆解與實(shí)現(xiàn)3.1 用 ExtrudeGeometry 把省份從“平面”變成“立體”處理完坐標(biāo)以后就可以為每個(gè)省份創(chuàng)建幾何體了。Three.js 里做立體地圖最直接的方法是ExtrudeGeometry先畫一個(gè)多邊形平面再沿 z 軸方向擠出一個(gè)高度就得到了有“墻體”的立體形狀。具體流程分三步第一步把省份的多邊形輪廓轉(zhuǎn)成THREE.Shape。注意一個(gè)省可能有多個(gè)不相連的輪廓比如廣東省包含海南島不對(duì)海南是單獨(dú)的省份但有些省份確實(shí)有飛地或島嶼所以一個(gè)Shape可能不夠需要循環(huán)處理。function createProvinceShape(coordinates, project) { const shape new THREE.Shape(); coordinates.forEach(([lon, lat], index) { const { x, y } project(lon, lat); if (index 0) shape.moveTo(x, y); else shape.lineTo(x, y); }); return shape; }第二步用ExtrudeGeometry擠出。這里有兩個(gè)關(guān)鍵參數(shù)depth是擠出高度也就是省份的“海拔”bevelEnabled默認(rèn)是true會(huì)產(chǎn)生一個(gè)倒角我建議在大多數(shù)地圖場(chǎng)景里把它關(guān)掉否則省份邊緣會(huì)有一個(gè)斜切面影響視覺精度而且會(huì)額外增加頂點(diǎn)數(shù)。const geometry new THREE.ExtrudeGeometry(shape, { depth: provinceHeight, bevelEnabled: false, });第三步把幾何體平移到合適的位置。ExtrudeGeometry默認(rèn)從 z0 向上擠所以省底和頂都在一個(gè)很小的范圍內(nèi)。為了讓地圖看起來是“懸浮”的或者“沉在底座上的”可以整體平移geometry.translate(0, 0, -provinceHeight / 2)讓省體居中。每個(gè)省份對(duì)應(yīng)一個(gè)獨(dú)立 Mesh把這個(gè) Mesh 放進(jìn)一個(gè)THREE.Group里方便統(tǒng)一管理。給每個(gè) Mesh 的userData上掛省份名稱、adcode、原始高度等業(yè)務(wù)字段后面做點(diǎn)擊高亮和飛線都會(huì)用到。3.2 省份高亮、選中與點(diǎn)擊交互交互是大屏項(xiàng)目的重頭戲。Three.js 里做點(diǎn)擊拾取的標(biāo)準(zhǔn)方式是用Raycaster從相機(jī)發(fā)射一條射線檢測(cè)與哪些 Mesh 相交。這里有個(gè)性能優(yōu)化的點(diǎn)場(chǎng)景里可能有幾十個(gè)省份 Mesh如果每一次鼠標(biāo)移動(dòng)都做全量射線檢測(cè)會(huì)有一些多余的 CPU 開銷。我一般會(huì)單獨(dú)維護(hù)一個(gè)provinceMeshes數(shù)組只對(duì)這個(gè)數(shù)組做檢測(cè)而不是對(duì)scene.children全部檢測(cè)。const raycaster new THREE.Raycaster(); const mouse new THREE.Vector2(); function onMouseMove(event) { // 將鼠標(biāo)位置轉(zhuǎn)換成 NDC 坐標(biāo)-1 ~ 1 mouse.x (event.clientX / window.innerWidth) * 2 - 1; mouse.y -(event.clientY / window.innerHeight) * 2 1; raycaster.setFromCamera(mouse, camera); const intersects raycaster.intersectObjects(provinceMeshes); if (intersects.length 0) { const mesh intersects[0].object; hoverProvince(mesh.userData.name); } else { clearHover(); } }高亮的效果我推薦兩種方案一起用。一是改變材質(zhì)顏色懸停時(shí)從默認(rèn)藍(lán)色調(diào)變成亮一點(diǎn)的青色或綠色二是疊加一個(gè)描邊效果用EdgesGeometryLineSegments把省份輪廓線畫出來選中時(shí)讓輪廓線變成亮色。只有顏色變化的話在展廳大屏的高亮環(huán)境下容易被忽略加上輪廓線以后辨識(shí)度會(huì)高很多。關(guān)于點(diǎn)擊后如何把 Vue 側(cè)的 UI 面板帶出來我的數(shù)據(jù)流是這樣的點(diǎn)擊某個(gè)省先更新 Vue 的 reactivestate.currentProvince然后地圖側(cè)通過watch監(jiān)聽這個(gè)值執(zhí)行相機(jī)飛行動(dòng)畫用 Tween 或自定義軌跡飛行到目標(biāo)省份上方同時(shí)把省份材質(zhì)換成選中色。UI 面板里展示的業(yè)務(wù)數(shù)據(jù)直接根據(jù)state.currentProvince從接口或者本地 JSON 里讀取。3.3 城市標(biāo)記與飛線動(dòng)畫讓地圖有生命力光有立體的省份輪廓還不夠大屏上還得有“點(diǎn)”和“線”——點(diǎn)代表重點(diǎn)城市線代表城市之間的關(guān)聯(lián)。城市標(biāo)記我用的是THREE.Sprite Canvas 生成的紋理這樣能保證文字比如城市名始終面向相機(jī)而且成本很低。function createCitySprite(name, position) { const canvas document.createElement(canvas); canvas.width 128; canvas.height 64; const ctx canvas.getContext(2d); ctx.fillStyle #ffffff; ctx.font bold 24px sans-serif; ctx.textAlign center; ctx.fillText(name, 64, 36); const texture new THREE.CanvasTexture(canvas); const material new THREE.SpriteMaterial({ map: texture, transparent: true }); const sprite new THREE.Sprite(material); sprite.position.copy(position); sprite.scale.set(8, 4, 1); return sprite; }飛線是這種地圖展示里最出效果的一環(huán)。我的做法是拿到起點(diǎn)和終點(diǎn)城市的三維坐標(biāo)后用CatmullRomCurve3創(chuàng)建一條貝塞爾曲線。為了讓飛線看起來有弧度我在起點(diǎn)和終點(diǎn)中間加一個(gè)抬升的中間點(diǎn)控制點(diǎn)高度向上偏移 20~30 個(gè)單位。然后用TubeGeometry生成管狀線條或者用Line直接渲染曲線。帶漸變效果的飛線更推薦用Line2FatLines但實(shí)現(xiàn)復(fù)雜度會(huì)高一些。第一次做的話先用CatmullRomCurve3.getPoints(50)生成一系列點(diǎn)再用THREE.Line畫出來效果已經(jīng)足夠。飛線動(dòng)畫有兩種常見做法一種是讓線的透明度或?qū)挾妊芈窂诫S時(shí)間變化需要 Shader另一種是移動(dòng)一個(gè)“光點(diǎn)”從起點(diǎn)到終點(diǎn)后面這種比較好理解。用一個(gè)球體或 Sprite 作為飛行光點(diǎn)每一幀更新它在曲線上的位置// 預(yù)先計(jì)算曲線 const curve new THREE.CatmullRomCurve3([startPoint, controlPoint, endPoint]); // 在 requestAnimationFrame 里更新 const t (Date.now() / 1500) % 1; // 1.5 秒走完一次 const point curve.getPoint(t); flyPoint.position.copy(point);3.4 Vue 生命周期與 Three.js 場(chǎng)景的綁定把 Three.js 塞進(jìn) Vue 組件里有一個(gè)老生常態(tài)但很多人還是會(huì)踩的坑場(chǎng)景只能在組件掛載后創(chuàng)建組件銷毀前必須清理。我的組件結(jié)構(gòu)大概是這樣的template div refmapContainer classmap-container/div /template script setup import { ref, onMounted, onBeforeUnmount } from vue; const mapContainer ref(null); let renderer, scene, camera, controls; let animationId null; function initScene() { const container mapContainer.value; const width container.clientWidth; const height container.clientHeight; scene new THREE.Scene(); camera new THREE.PerspectiveCamera(45, width / height, 0.1, 1000); camera.position.set(0, -80, 80); camera.lookAt(0, 0, 0); renderer new THREE.WebGLRenderer({ antialias: true, alpha: true }); renderer.setSize(width, height); container.appendChild(renderer.domElement); controls new OrbitControls(camera, renderer.domElement); controls.enableDamping true; } function animate() { animationId requestAnimationFrame(animate); controls.update(); renderer.render(scene, camera); } onMounted(() { initScene(); loadMapData(); animate(); window.addEventListener(resize, onResize); }); onBeforeUnmount(() { cancelAnimationFrame(animationId); window.removeEventListener(resize, onResize); renderer.dispose(); mapContainer.value.removeChild(renderer.domElement); }); /script這里額外提醒一下renderer.dispose()之后一定要把 canvas 從 DOM 里移除否則在 Vue 的 HMR 熱更新或路由切換時(shí)你的頁面里會(huì)保留很多幽靈 canvas占用顯存。4. 性能優(yōu)化與三個(gè)最值得記錄的坑4.1 大屏渲染性能優(yōu)化展廳大屏的分辨率一般是 1920x1080 或者更高數(shù)據(jù)量大的時(shí)候容易掉幀。我做過的優(yōu)化主要有幾個(gè)方向合并靜態(tài)幾何體如果某些省份的幾何體不需要單獨(dú)交互可以先把它們合并成一個(gè)幾何體一次 draw call 渲染完能顯著降低 GPU 壓力。需要交互的省份再單獨(dú)保留減少透明物體大量半透明疊加會(huì)觸發(fā)透明度排序GPU 開銷成倍增加。標(biāo)記點(diǎn)、貼片能用不透明的就盡量不透明GeoJSON 數(shù)據(jù)簡(jiǎn)化中國(guó)地圖的 GeoJSON 原始文件可能有幾百 KB頂點(diǎn)數(shù)非常多??梢杂?mapshaper 之類的工具把精度從 5 位小數(shù)降到 2~3 位肉眼幾乎看不出差別但頂點(diǎn)數(shù)可以減少一半以上使用 DRACOLoader 壓縮模型如果還有 GLTF/GLB 模型比如建筑模型、裝飾物務(wù)必用 Draco 壓縮壓縮率通常在 70% 以上。我記得有一次地圖旋轉(zhuǎn)的時(shí)候掉幀特別嚴(yán)重檢查了半天發(fā)現(xiàn)是 GeoJSON 里每個(gè)省份的輪廓精度都特別高渲染時(shí)的頂點(diǎn)數(shù)達(dá)到了十幾萬。用 mapshaper 簡(jiǎn)化到 2% 以后幀率從 30 以下直接拉回 60效果非常明顯。4.2 坐標(biāo)偏移導(dǎo)致省份輪廓“錯(cuò)位”的排查思路這個(gè)項(xiàng)目里最典型的一個(gè)問題地圖渲染出來以后某個(gè)省份的形狀整體偏離了它本來的位置或者省份之間有交疊。排查下來原因通常出在getAllCoordinates函數(shù)把MultiPolygon拍平的邏輯寫錯(cuò)了。GeoJSON 里Polygon的坐標(biāo)層級(jí)是三層數(shù)組最外層是環(huán)Ring每個(gè)環(huán)里是坐標(biāo)點(diǎn)數(shù)組而MultiPolygon是四層數(shù)組。拍平時(shí)如果flat(1)或flat(2)層級(jí)不對(duì)取出來的點(diǎn)就會(huì)錯(cuò)亂。建議你寫完之后做一個(gè)可視化調(diào)試先把所有省份的輪廓線用LineSegments畫出來疊加在平面底圖上對(duì)比這樣可以快速判斷題是否出在輪廓解析上。如果輪廓整體錯(cuò)位一定是投影函數(shù)的問題如果只有個(gè)別省份錯(cuò)位、扭曲那就是MultiPolygon解析的問題按上面提到的拍平層級(jí)逐層檢查即可。4.3 透明材質(zhì)渲染順序問題Three.js 里透明物體的渲染順序是一個(gè)老大難問題。地圖場(chǎng)景里如果既要有透明的省份漂浮塊半透明膜狀效果又要有透明的飛線、透明的標(biāo)記點(diǎn)經(jīng)常會(huì)出現(xiàn)“透過一個(gè)透明物體看到另一個(gè)透明物體時(shí)后面的物體有一部分不顯示”的現(xiàn)象。這個(gè)問題沒有一勞永逸的解決辦法。我的經(jīng)驗(yàn)是depends 優(yōu)先級(jí) renderOrder 手動(dòng)調(diào)整。在創(chuàng)建 Mesh 的時(shí)候顯式設(shè)置provinceMesh.renderOrder 1; flyLineMesh.renderOrder 2; sprite.renderOrder 3;同時(shí)把透明材質(zhì)的depthWrite: false設(shè)上防止透明物體寫入深度緩沖導(dǎo)致后面的透明物體被遮擋。這個(gè)技巧不是萬能的但對(duì)大多數(shù)情況能明顯改善。5. 項(xiàng)目還能怎么擴(kuò)展從“會(huì)動(dòng)的地圖”到“可用的產(chǎn)品”做完主體功能以后我并沒有馬上收工而是按客戶需求加了幾個(gè)擴(kuò)展點(diǎn)這里也一并分享出來。第一是時(shí)間軸播放。在 Vue 側(cè)做一個(gè) slider拖動(dòng)時(shí)間軸時(shí)各省的擠出高度會(huì)按照時(shí)間變化而重新計(jì)算形成一個(gè)數(shù)據(jù)演變的動(dòng)畫效果。實(shí)現(xiàn)起來并不復(fù)雜因?yàn)槭》莞叨纫呀?jīng)抽成了getProvinceHeight函數(shù)改動(dòng)高度時(shí)只需要循環(huán)省份 Mesh更新幾何體或者重新創(chuàng)建幾何體就行。不過要注意頻繁重建幾何體很耗內(nèi)存更好的做法是用geometry.attributes.position動(dòng)態(tài)修改頂點(diǎn)位置但計(jì)算量會(huì)大一些需要自己權(quán)衡。第二是圖表面板與地圖聯(lián)動(dòng)。頁面右側(cè)放一個(gè) ECharts 折線圖展示選中省份的歷史數(shù)據(jù)。點(diǎn)擊省份時(shí)Vue 側(cè)更新 ECharts 的option這個(gè)很簡(jiǎn)單重點(diǎn)在于地圖和圖表要共用一套數(shù)據(jù)源避免兩側(cè)數(shù)據(jù)不一致。第三是部署和加載體驗(yàn)。地圖 GeoJSON 文件如果比較大建議放到 CDN 上并用fetch異步加載期間顯示一個(gè) loading 狀態(tài)。還可以用topojson-client把 TopoJSON 轉(zhuǎn) GeoJSON文件更小加載更快。不過 TopoJSON 會(huì)增加一個(gè)轉(zhuǎn)換步驟如果不是特別在意首屏速度直接用優(yōu)化后的 GeoJSON 就夠。我在實(shí)際部署時(shí)踩過一個(gè)相關(guān)的小坑如果項(xiàng)目部署在 Nginx 子路徑下比如http://example.com/geo/靜態(tài)資源路徑默認(rèn)是相對(duì)路徑直接fetch(china.json)會(huì) 404。解決方法是給 Vite 配置base: /geo/或者用相對(duì)路徑fetch(new URL(./china.json, import.meta.url).href)。6. 最后幾個(gè)實(shí)用建議寫到這里項(xiàng)目主體基本講完了。按照我的經(jīng)驗(yàn)再給大家?guī)讉€(gè)通用建議別期待一次寫對(duì)。三維場(chǎng)景坐標(biāo)系遠(yuǎn)比二維 Web 頁面復(fù)雜最好先把地圖輪廓線渲染出來看形狀再往上疊加立體和交互。一步一步來更容易定位問題。相機(jī)位置和燈光是照片質(zhì)量的關(guān)鍵。同一種藍(lán)色材質(zhì)在偏暗的展廳大屏和明亮的辦公顯示器上呈現(xiàn)效果差別巨大。建議用HemisphereLight作為環(huán)境光再配一個(gè)DirectionalLight作為主光并花時(shí)間調(diào)光的方向陰影和高光會(huì)比默認(rèn)光照自然很多。保持場(chǎng)景可配置化。把省份顏色、高度、飛線速度、相機(jī)初始位置這些參數(shù)全部抽到一個(gè)配置文件里。因?yàn)榇笃另?xiàng)目的需求溝通通常不是一次性能敲定的客戶總會(huì)在交付前提出“這個(gè)紫色換一下”“地圖轉(zhuǎn)得再慢一點(diǎn)”之類的改動(dòng)。配置化之后改起來就是調(diào)參數(shù)的事。最后再分享一個(gè)我在項(xiàng)目交付階段學(xué)到的經(jīng)驗(yàn)不要只盯著技術(shù)指標(biāo)還要多考慮“使用場(chǎng)景”??蛻艨创笃恋臅r(shí)候不會(huì)關(guān)注你用的是 Three.js 的哪個(gè) API只會(huì)關(guān)注視覺效果是否夠震撼、交互反饋是否夠流暢。所以寧可減少幾個(gè)花哨功能也要保證相機(jī)旋轉(zhuǎn)、飛線動(dòng)畫、點(diǎn)擊響應(yīng)這些核心交互的流暢度。我這次項(xiàng)目里最受好評(píng)的一個(gè)設(shè)置其實(shí)是 OrbitControls 的autoRotate——地圖加載完成后自動(dòng)緩慢旋轉(zhuǎn)立刻讓整個(gè)大屏的科技感上了一個(gè)臺(tái)階。這個(gè)設(shè)置對(duì)代碼來說只有一行但現(xiàn)場(chǎng)效果提升非常大強(qiáng)烈建議也試一下。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
丝袜狠狠草尤物 91| 蜜臀久久久99久久久久 | 欧美亚洲高清不卡| 日韩一区二区精彩视频| 麻豆成人影音在线| 中文字幕一区二区韩| 久久伊人网视频一区二区三区| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 青青操综合网| 日韩情色AV| 天美传媒婬乱| 今日头条成人一区二区三区四虎精品| 美女黄站| www狠狠| 欧美色图下一页| 97精| 久久久一级| 人澡逼| 在线看片国产精品每日更新| 亚洲凸凹超碰成人| av网页一区二区三区| 久久黄黄| 人人模人人看| 91黑丝少妇| 欧美经典一区二区三区| 国产精品呦一区二区三区| 亚洲色图A| 久久久一二三四区| 亚洲天堂AV在线播放| 国人欧美精品一区二区| 国产三级在线现体验区| 艳美熟妇先锋一二三区| 日本一区二区三区欧美日韩中文字幕| 亚洲色图尤物视频| 宗合情欲网| 91天堂网| 九九九九九九九九九五码| 97综合久久| 香蕉一区二区三区在线视频| 中英熟女操女| 天天弄欧美| 久久婷婷电影网| 殴美牲| 97久久久精品| 在线视频资源| 日本美女性生活久久久久久久| 日本一二区免费| 无码伊人久久大杳蕉中文无码| 黄色大片一区二区密桃丝袜| 日本成人电影资源网| 国产精品久久久啊| 嗯啊啊啊轻点视频| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 91狠狠| 亚洲天堂男人天堂网| 超碰导航97| 人妻干天天| 色眯眯射| 久久精品店| 操www| www.人人摸在线视频| 综合影院永久入口国产| 99人人干| 日韩免费福利在线观看| 国产精品午夜精品| 毛片17S| 日本成a人v网站在线观看| 国产精品大香蕉| 久久蜜桃一区二区| 欧美极品女人的天堂| 伊人天天久久动态图| 九久9热| 人人操人人色人人摸| 男人的天堂日本东京热| 欧美78p| 国产99热| 精品一区二区三区蜜桃臀www| 欧美一区二区观看在线| 亚洲精品97p| 禁片 高清 在线观看视频网站| 人人操人人操人人操人人操人人操人人人11.CM | 婷婷五月综合在线| 大屁股人妻女教师撅着屁股| 国产精品人妻免费精品| 97在线免费视频观看| 五月丁香影院| 日本高清加勒比| 一区二区三区色综合| 亚洲色棕合| 男人天堂网站| 天美传媒Av在线| 99国产精品自在自在| 一区二区三区美女超清| 久久夜夜| 国产精品香蕉| 大干人妻| 午夜福利在线合集| 国产又操| 成人五月天色网| 日日夜夜骑| 国产女同视频在线播放| 99九九久久| 亚洲中文电影| 收看日本人日bb| 久久久九97| 高跟伊人julia ann| 天美一区在线| av午夜影院在线播放| 超踫中文字幕| 91蜜臀人妻中文字幕在线| 伊人影院日本| 大香蕉啪啪啪| 亚洲色图伊人网| 凹凸视频在线一区二区| 人妻夜夜爽天天爽麻豆三区网站 | 91欧美丝袜| 视频国产欧美在线播放| 亚洲文学偷乱拍啪啪啪啪 | 九九无码| 九九热五区| 清纯唯美综合| 天天看综合网| 日本媚薬中文字幕在线| 成人综合色网| 国产精品香蕉| 91日产桃蜜| 一区二区三区精品视频| 韩国一级婬片A片AAAAA| 91天堂色男人的天堂| 国产精品久久久777| 麻豆久久精品亚洲精品88| 啊v视频在线观看| 欧亚韩国999| 浪人综合网| 欧美情色贴图| 日韩有码 一区二区三区| 禁止观看美女黄| 九九九网站| 91在线美女| 亚洲精品电影| 天天综和| 亚洲最新av无码成人精品区| 大香蕉日亚洲日本亚大| 99ri精品| 欧美九九九| 久久综合九九| 美女被啪到深处抽搐视频| 丰满少妇人妻久久久久久| 大香蕉狠狠爱| 一区二区首页| 国产精品无码av嫩草| 后入式在线免费观看60秒| 人妻干天天| 中文字幕日韩人妻视频一区二区三区交换夫妻 | 欧美激情精品久久久久久| 性爱av在线免费观看| 欧美高潮| 国产精品肉丝自拍| 亚洲欧洲av影音| 中文字幕少妇色 | 亚洲欧美人妻| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 久久久久久97| 偷拍亚洲高清图片| 亚洲午夜福利在线影院| 精产品久久| 99热精品在线观看| 色一射色一射| 精品成人无码| 亚洲人妻日日日| 超碰国产情侣自拍网| 北约熟女超碰| 亚洲资源站| 欧美精品第四五页中文字幕在线观看| 人人看人人爰人人操| 神马影院午夜福利久久久| 日韩黄色电影网站| 国产精品欧美在线观看| 最新精品久久蜜桃| 欧美精品四区| 性色av网站| 色综合91好| 校园春色亚洲欧洲| 九九天堂| 日本天天色| 少妇一级无码精品| 亚洲无码日韩电影| 色天堂综合| 色色色热| 国产激情av女片自拍| 亚洲黑人在线| 日本一线产区和二线产区伦理片| 亚洲欧美日韩电影网站一区| 污到发麻的视频 国产| 国产精品久久久久av| 乱欲视频| 少妇精品| 一区二区无码视频| 色九九综合AV| 偷拍综合亚洲| 五月婷婷hd| 天天91~综合入口| 乱伦3P视频| 一级性爱啪啪视频| 人人操,人人插| 插插综合网天天影视网| 美熟女逼导航AV操逼| 日韩在线视频1234| 91色碰| 人人操人人摸人| 26UUU欧美激情一区二区| 天美传媒婬乱在| 天天综合色图| 天堂网亚洲区手机版| 久久熟女久| 久久久草成人网站久久久草成人久久久草久久久 | 色噜噜国产精品视频一区二区| 国产精品午夜福利视频| 日欧毛片久久| 啊啊啊啊好疼视频| 超碰欧美97资源| 少妇精品久久久八区九区| 日本一天色道久久久精品视频| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 国产乱子伦久久精品综合一区二区三| 青青草综合在线| 天美传媒精品久久视频| 久久99九九九九6666免费观看软件| 少妇蹲下买菜露大唇0| 老色鬼成人精品视频下载大在线观看| 是还免费视频1727我| 久久国模av| 欧美综合制服在线| 狠色婷婷久久一区二区三区_| 极品久久久久久久久久久久久久| 天天内射| 伊人国产视频| 人人色人人射人人妻| 人妻天天爽夜夜爽爽| 蜜臀久久久久久999| 在线观看一卡二卡| 美女97超碰| 蜜乳av一区二区三区四区不卡| 亚洲色悠悠久久88| 久久r精品| 人妻蜜桃臀| 中文字幕人妻丝袜乱一区三区| 青青草中文字幕| 亚洲AV无码乱码| 亚洲操人| 精品一区二区三区最新| 国产青青美女玩逼视频| 日本精品五区| 少妇xx精品| www.久久久久| 久久精品72| 97热视频在线观看| 亚洲久久久久| 综合网色| 91丝袜激情在线| 欧美BT 亚洲色图| 男女一进一出视频久久| 中国女人内射6XXXXX| 国产超碰人人操| 欧美性爱精品一区二区| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚| 91在线丝袜视频| 96久久久| 日本人人操人人操| 中文字幕av久久爽Av| 噜噜噜亚洲精品| 国产精品久久久啊| 综合久久婷婷| 久久亚洲天堂| 日本爽爽爽爽爽爽免费视频| 欧美大码在线视频| 床戏久久久av一区二区麻豆| 丝袜剧情| 大香蕉伊人在线成人AV在线观看| 9久热这里只有精品| 色哟哟综合| 国产精品色| 啊嗯嗯啊好大好爽| 天天躁日日躁狠狠狠躁| 嫩草 人人网精品| 中文字幕亚洲永久精品| 美女久久久| 欧美不卡二区| 日韩精品操少妇| 欧美日韩另类激情图片| 操比国产| 欧美天堂亚洲电影院一区在线播放| 久久久久久久9| 啪啪AV导航| 久久国产精品熟女人妻| 日本影视久久免费| 久久久久久性爱片| 天天网综合| 色婷婷视频| 少妇蹲下买菜露大唇0| 乱操乱伦AV| wwe 天天干.com| 一个人免费视频观看在线WWW| 91丨九色丨国产打屁股| 日本在线伊人啪啪| 婷婷五月天福利| 久9精品| 亚洲欧美在线观看2021| 天欧美在线| 性色av婷婷久久一区二区点复制| 色综合超碰超| 97最新在线播放视频| 夜夜嗨老熟女AV一区二区三区| 大香蕉欧美| 大稥蕉免费视频这里只有精品| 国产国产亚洲一二三久久| 亚洲国产一级精品毛一级精品看免费视频 | 99热最新网址| 日本综合色图| 国产农村妇女精品一| 欧美91在线| 欧美亚男人的天堂| 亚洲第一页第二页激情| juliaann丝袜大战黑鬼| 无码精品久久久天天影视| 美女黑人91神马| 熟妇xxxxx性春色| 蜜乳av一区二区三区四区不卡| 精品少妇人妻av久久免费| 国产AV线| 91丨九色丨东北熟女| 亚州色综合| 久久婷婷一区二| 国产精品午夜福利亚洲综合网| 日本东京热大香蕉a片| 黄色视频特级毛片| 欧美中文综合| 中文字幕二区| 久久久98网站免费视频| 91露脸熟女专区| 91女优在线观看| 亚洲另类综合欧美| 久久毛卡| 高清无码人妻久久久一区二区三区aⅴ| 啊…啊…操我用力操我| caoni国产亚洲av| 999久久久九九九九| 操我啊啊啊啊啊| 伊欧美综合视频| 97色97干| 欧洲自拍第一页| 视频在线观看一二三区| 亚洲风情在线观看| 国内精品999| 男人久久天堂| 色综合超碰超| 99国内精品| 欧美成人四级在线播放| 亚洲人妻久久久| 美女尤物福利视频| 久久久久成人亚洲国产| 中文字幕人妻资源在线| 美女诱惑1区2区| 家庭乱伦国产| 资源新线在线天堂| 偷拍片久久| 影音综合网| 国产a级午夜毛片| 亚洲九九九| 久久人体一区二区| 97bbn| 欧洲色| 围产精品一区二区三区视频播放| 一级性爱啪啪视频| 欧洲在线性爱视频| 欧美综合网A| 97jingpin| 婷婷精品国产一区二区三区日韩| 97久久精品亚洲| 国产精品久久久三级无码| 亚洲性爱电影| 国产精品一区av在线| 97美日韩视频| 诱惑网综合| 久久精品女同亚洲女同13| 色欲人妻一区二区在线| 97玖玖超碰| 欧亚第一综合网| 欧美一级三级| 日韩在线76| 婷婷综合五月| 九九在线精品| 禁片 高清 在线观看视频网站| 操逼日韩无码| 大香蕉黄色一区| 精品国产久热在线观看| 人人看人人摸人人色| 欧美精品1区2区3区| 性做久久久久久久| 久久久激情| 99热免费| 久操99| 熟女啪啪视频| 亚州色图狠狠干| 第45页一区二区| 97 九色| 人妻酒店出差被中出免费在线播放| 2025亚洲男人天堂| 四虎免费看黄| 日韩综合97P| 亚洲综合 欧美| 欧美,亚洲,日韩,v,天堂,手机在线观看| 欧美在线视频播放| 欧美小说区视频区| 97在线看| 欧美丰满少妇xx高潮| 亚洲精品性爱片| 人人考人人摸人人干| 成人av动漫在线观看| 无码9区| 国产视频一区二区在线| 伊人 俄罗斯 a v| 我爱搞逼综合网| 日韩精品一区二区人人人| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 偷拍网站久久男女男| 亚洲精品天天影视综合网 | 乱人伦 国语对白:视频直接看| 无码heyzo高清一区| 求求你操操我| 天天干18禁| 99999国产精品| 无码 黑人一区二区三区| 亚洲成人精品在线一区| 无码国产精品午夜不卡(| 国产白领连续中出在线观看| 国产亚洲日本| 丁香色狠狠色综合久久小说| 久久久亚洲Av| 日韩欧美麻豆大片| 欧美天天在线| 国产精品国产自产高清AV| 操逼网站地址| 欧美 亚洲 综合 制服 另类| 资源新线在线天堂| 国产成人精品日本视频| 日本午夜福利视频| 天堂性色| 伊人影院综合是一个与深夜成人在线| 国产免费大片| 欧美日韩不卡传媒| 在线观看综合精品亚洲| 熟女一区二区| 日韩性爱长视频免费| 亚洲乱码国产乱码精网站| 色女女女导航| 婷婷20月天青娱乐| 久久婷婷伊人| 四虎精品永久在线观看| 伊人网综合在线视频| 久久伊人在线五区| 亚洲黄色AV电影| 日韩午夜啪啪视频| 97久久国产亚洲精品超碰热| 中日亚韩免费视频| 精品乱码久久久久| 天天插夜夜操| 99蜜桃臀亚洲成人在线观看| 超碰97精品| 精品久久視頻在线| 国产精品操| 精品国产肉丝袜在线拍国语| 91天堂丝袜美腿| 欧美日韩中文亚洲v在线综合| 91色色综合| 操逼国产免费| 日韩精品怡红院| 亚洲欧美黄| 日本免费专区| 91n免费处女| 五月丁香六月激情综合| 欧美亚洲涩涩| 人妻另类 专区 欧美 制服| 午夜福利在线合集| 久久亚洲国产成人| 国产人妻一区二区三区欧美毛片| 亚洲色图殴美色图激情乱伦| 久热这里| 久操在97| 伊人久久婷婷| 亚洲无码超碰免费| 国产熟女无套内射| 日本天天吊| 国产AV天美| 超碰69| 五月天婷婷久久| 懂色Av一区二区三区| 91小视频| 久久久久久久久久久久97| 狠狠操天天干| 欧美色网| 素人无码中文字幕| 婷婷丁香成人| 好吊色综合| 亚洲免费日韩在线一区二区| 涩涩这里只有精品视频| 欧美人妻一区二区| 夜夜中出国产| 操操逼操操逼操操逼逼| 伊人一区二区三区| 五月婷婷综合网| 国产肏逼网站| 91女优在线观看| 六月激情婷婷| 18禁无码永久免费无限制| 超碰97首页| 欧美色五月| 伦激情人妻另类人妻| 久草精品一区 | 五月婷婷六月天| 欧美精品999| 黑人娇小av在线播放| 蜜桃色院一区久久| 久久精品一区二区三区不卡| 特级毛片特黄久久免费看| 91美女片在线| 学生妹天天看| 成人熟女视频一区二区三区| 五月婷婷色| 免费看黄片现成| 国产sv美女内射| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 精品女人999| 久久性爱大全| 国产又猛又粗又爽又黄| 黑人综合网| 中文字幕精品亚洲熟女| 神马久久久久久久久久| 91精品电影18| 色色五月天激情| 人人插人人摸人人| 日本黄色精品专区网站| 成年人黄色小视频网站| 91伊人| 91无码人妻精品一区二区三区蜜桃| 99啪啪| 蜜桃成人1区2区3区| 99精品成人免费看| 精品在线78| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 色玖玖| 欧美亚洲另类在线蜜桃| 亚洲免费成人在线高清无码视频| 97国产超碰| 97干97色| 国产在线视频午夜精华在| 日韩日韩日韩-国产乱码精品一区二区| 欧美日韩亚洲天堂网| 九九九午夜| 精品久一区免费| 婷婷五月综合激情| 少妇高潮99p| 亚欧精品久久久久久久久久久| 日韩欧美亚洲一区二区三区影院 | 3级毛片一二| 青青草原av| 90后后入| 骚女天天综合网| 性91| 97爱综合| 中国AAAAAA黄色片| 91大神精品长腿在线观看网站| 成人一二| av在线播放国产一区| 天天躁日日躁AAAAXXXX国产| 亚洲色色探花| 人、人、摸,人、人、草| 无码抄逼网| 在线v中文字幕一区二区三区| 九九性爱网| 亚洲欧洲网站免费观看| 欧美|91色综合| 色月天AV导航| 无码视频一区二区| 欧美综合亚洲| 亚洲色人阁| 中文字幕日韩专区精品系列 | 狠狠热这里都是精品| julia中文字幕在线观看| 九九综合网| 日韩大香蕉AV影片| 91人精品妻入口| 太久视频| 伊人影院中文字幕| 97色97好| 91综合天天| 天天视频网站黄| 国产亚洲精品美女久久久久久2021| 欧美精品1区2区3区| 成人日韩欧美| 97一区二压| 97精品全部| 中国AV美女| 影音先锋国产精品| 性欧美体内射精| 久久中久文96| 日本影视久久免费| 激情五月综合| 亚洲男人天堂2013| 久久国产成人精品国产成人亚洲| 日韩无码a片| 五月天色综合| 国产成人啪一区二区| 9久在线视频只有精品| 久久精品国产亚洲AV嘿嘿| 婷婷导航| 欧洲亚洲天堂精品 | 伊人麻豆传媒| 亚洲欧美日韩精品久| 红杏大香蕉| 91/欧美| 亚洲人久久久久日| 熟女六十路| 91狠狠综合久久久| 2019午夜福利视频| 偷拍 欧美 日韩| 97久久超碰| 最新av在线| 日韩欧美加勒比| 久热大香蕉| 97超碰人操| 日韩熟女操逼| 免费看污网站| 亚洲性图91| 国产精品高清2021在线| av片在线观看免费播放| 青草青青久久久久久国产| 亚洲操逼视频网站| 人妻天天爽| 人妻三级在线中文字幕| AV电影在线播放| 久久久久久裸体| 91亚洲色人| 99re6国产精品99re在线| 91 综合网| 手机看片1025| 亚洲高清男人天堂| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 国产一级特黄大片处女| 首页亚洲国产高跟丝袜诱惑视频| 五十路成人在线视频二区三区| 婷婷去俺也去六月色| 日韩一999精品| 国产强奸乱伦无码视频| 少妇毛片久久| 97色伦97色伦国产欧美| 亚洲国成人情色好看电影| 美女被啪到深处抽搐视频| 日日狠狠久久偷偷色综合免费| 成人日本片久久久蜜桃| 插欧洲美女欧美精品| 色哟哟av网址| 牛黄色久午久| 一本大道久| 亚洲少妇中文字幕网址| 综合网亚洲1| 91操碰| 乱码人妻一区二区三区| 色噜噜人妻丝袜a∨先锋影| 青青草中出视频 | 情色五月天网| 一区二区三区精品视频| 漂亮人妻被强中文字幕hd| 色色色色网站| 青青青在线高清视频在线一二三四区| 久99热| 99re免费| 亚州综合色图| 丁香五月自拍| 久久久久久99999国产精品| 91精品大奶人妻| 亚州综合色| 一区二区三区网站日日骚| 一个人免费视频观看在线WWW| 91黑丝美女| 亚洲黄色a级片| 久久九操在线观看| 丁香成人五月天| 啊啊啊啊啊啊啊啊啊在线观看| 99久国产精品午夜性色福利| 色老久久| caopeng97| 69少妇一区二区| 热热热热日日漂亮永久永久国产日| 综合操逼| 亚洲欧美碰碰| 亚洲情色一区二区三区| 久久人人看| 国产操伦| 国产400孕妇孕交群| 欧美色图下一页| 黄污污污污| 天天日天天操天天射河南省| 日欧毛片久久| 天天综合精品| 亚洲另类小说卡通动漫| 超碰97男女| 久久久久久久久久黄色网| 国产欧美亚洲精品a第2页| 26uuu最新| 加勒比av网| 亚洲自拍一区夜夜操| 玖色AV| 亚洲天堂中文字| 少妇一区二区三区| 色狠狠一区二区三区香蕉| 青青草亚洲一区 | 亚洲欧美一区二区不卡视频播放| 亚洲nv男人的天堂网| 成人性爱av| 9丨久久九九九| 国产AV线| 亚洲 欧美 另类 日韩 人妻一区| 久久香蕉影院| 国产精品人妻熟女aⅴ| 91人人| 91 综合 色| 久久精品亚洲婷婷| 99热精品在线在线| 91狼人| 国产精品亚洲一级av第二区| 精品亚洲| 91性色| 91 综合网| 欧美日韩中国x| 91欧美性| 亚洲91网站| 亚洲欧美中日韩| 9999久久久久| 亚洲色五月| 婷婷中文字幕| www.人人cao| 91亚洲欧美色图| 玖玖久久久| 欧美人妻制服| 殴美牲| 国产AV无码AV| 欧美视频一区二区在线| 亚洲国产精品无码AV在线| 亚洲乱色熟女一区| 自拍偷拍草一草| 国产成人自拍视频视频| 国产一区二区a毛片| 中文字幕第9页萱萱影音先锋| 2021国产成人精品久久| 操国产逼| 粉嫩av平台| 国产成年精品高清在线观看91| 亚洲密乳AV| 日韩精品一区二区高清| 色色网91| 欧美日韩午夜精品一区二区三区| jizz啪啪| 免费精品中文字幕| 手机在线中文字幕国产| 国产精品色片一区二区| 国产免费永久精品无码| 99爱在线视频| 亚洲人精| 91九九九小逼| 亚洲精品久久久久久| 夜夜爽夜夜操| 91bbbbbb| 一二三四视频中文字幕在线看| 99色网| 久久久久久久久久久免费精品| 嫩呦国产一区二区三区AV| 日韩亚洲国产视频| 亚洲精品99| 国产不卡中文字幕免费avi| 日本中文字幕一区| 91制服丝袜中文字幕| 伊人网青青| 自拍偷拍 日韩无码| 一二三四免费视频| 久久99精品国产| 99re99在线视频| 思思久热在线精品66| 中文字幕aⅴ在线视频| 91狠狠综合久久| 天天夜夜久久| 欧洲一区二区| 老熟女搡BBBB搡BBBB视频| 手机看片1025| 顶级少妇BT天堂| 天天影视综合色| se01国产在线视频| 婷婷色导航| 97爱亚洲综合色| 日日嗷| 老子午夜伦不卡影院| 91 刺激在线| 日韩少妇无吗| 免费a v| 五月天婷婷基地| 日本人妻一区二区| 成人三级片一区二区三区视频| 国产最火爆久久国产网站网站| 中文字幕av乱伦| 麻豆天美制片厂网站视频| 男女啊啊啊啊啊| 国产精品成人福利在线| 人人摸人人干| 91n欧美| 久久精品国产亚洲AV嘿嘿| 欧美成不卡网| 97在线免费| 性爱av网站| 黄日韩| 欧美色图99| 欧美不卡在线一区二区| 天天做天天爽| 夜夜夜夜夜夜夜夜夜狠狠狠狠狠狠狠| 久久九九热| 国产极品精品美女视频| 免费A V在线| 久久亚洲天堂| 精品偷拍13p欧美dodk视频| 日本不卡高清免v欧美日韩在线观看| 午夜经典| 人人干人人搞人人摸| 欧美白嫩女HD| 草莓精品视频在线免费观看| 熟妇熟女一区二三区| 超碰97国产欧美| 992视频一区| 九九九九一区| 5252色欧美在线| 超碰人妻久久| 99久久网站| 久久有码视频| 人妻啪| 欧美中文狠| 岛国网址国产 | 中文字幕久久婷婷丁香五月天 | 中文字幕二区| 巨乳特殊服务按摩| 中文字幕久久婷婷丁香五月天 | 欧日韩不卡视.频| 亚州黄站| 欧美网站免费| 国产成人五月天丁香花| 三级片网站在线播放| 秋霞福利网| 日韩Va亚洲va欧美Ⅴa久久| 亚洲综合校园春色| 美女午夜福利免费视频| 欧美丝袜美女电影一二三四区| 久操网址| 97视频在线观看网站| 我要看免费韩日黄片| 欧美啪啪天堂| 五月丁香亭亭| 天天看片青娱乐| 麻豆AV一区二区| 立川理惠被中出无码| 在线黄色污污网站| 日本在线播放不卡一区| 色淫网站优优视频| 黄色二级片网站| 青青免费在线视频一区| 刺激性视频黄页| 五月天婷婷在线看| 国产成人精品午夜福利| 五月婷婷激情网| 91美女小视频| 亚洲自拍一区夜夜操| 性爱乱伦网址| 男人的天堂va在线| 美性中文综合网| 天天操天天舔| 91亚州| 成人A片男人的天堂| 手机看片1024你懂的国产| 99国产女人| 97超碰天天爱天天爱| 亚洲欧洲日韩国产自在线| 香港久久久| 久久一二三四不卡| 午夜男女爽爽爽在线视频 | 日韩一区二区高清在线观看的| 抽插一区二区视频| 亚洲AV无码| 熟女五十路一区二区三| 香蕉综合网| 天堂射| 偷拍网站久久男女男| 亚洲精品影视老司机| 99re这里只有| 欧美日韩美女精品久草一区二区三区| 久久五月综合| 国产精品成人无码av无码免费| 亚洲九九视频| 人妻精品一区二区全免费| 色情五月综合婷婷| 婷婷干黄色| 欧美日韩人妻精品系列一区二区三区| 麻豆AV一区二区| 2020中文字幕| 激情五月天丁香社区| 国产黄色剧情影片麻豆免费播放| 久久成人东京热人妻| 天天日日本| 婷婷五月天丁香花| 熟妇的味道HD中文字幕| 夜草网站| 精品一区二区三区蜜桃| 亚州 综合 色图| 青苹果影院男人的天堂| 亚洲一区二区三区中文字幕| 97超碰人人操人人操| 久久久久久久久久久久97| 国产 大胆 对白| 爱爱动态120秒| 欧美一级黄色18片免费看| av天堂天堂av日韩| 国产免费黄色一级大片| 一区二区影视| 狠狠入| 国产97综合| 男人的天堂日韩| 玖玖爱伊人玖玖爱| 啊啊啊啊操死我了| 久久久噜噜噜久久久| 欧洲色色| 日韩啪啪啪啪啪| www网站黄| 亚洲AV性爱电影| 亚洲精品影视老司机| 中文字幕日韩精品久久| 97爱爱| 国产精品香蕉| 精品97久久| 色妇综合网| 久久啊啊啊| 日本 情色 1区2区3区| 97草草| 碰人碰碰人人开房人肉| 国内成人圈中文字幕无码视频| 日韩美女,国产传媒,视频一区| 亚洲最大黄网| 国产久久久9999| www鬼畜国产男人的天堂| 精品久久久久,69国产成人精| 极品五月天噜噜| 蜜臀精品1区2区| 亭亭丁香激情| AV99热18这里只有精品| 欧美日韩天堂| 色偷综合| 97超碰欧美精品| 女生91网站| 日本人妻伦在线中文字幕| 日B操| 操逼天美3区| 日本国产欧美高清在线| 精品人妻一区二区视频| 俺去俺来也在线www| 欧美色婷婷| 久久99热这里只频精品6学生| 无码色| 蜜臀人妻少妇久久在线观看| 五十路熟女工口| 丝袜美腿射精91| 欧美97免费| 免费成人在线观看91| 日操粉逼逼| 婷婷亚洲天堂| 日本日日色视频| 欧美日韩国产精品久久色婷婷| 一区二区三区色综合| 天操天操夜操夜月操月年年操操| 中文字幕国产| 欧美天天射| 大香蕉一区二区在线观看.| 亚洲最新Av| 八人操人人摸人人看| 日本熟女中文| 亚洲黑丝在线| 最新精品久久蜜桃| 91麻豆一二三区| 欧美亚州综合网图片| 精品无码欧美三级| 亚洲国产成人精品999| 午夜无码精品免费看性色| 97干在线视频| 欧美熟妇乱码在线一区| 超碰在线1234区| 人人妻人人色一区二区三区| 女人久久久| 亚洲精品人妻吞精av| 九九RE视频在线精品| 午夜精品久久久99| 97亚洲中文| 国产女人高潮嗷嗷嗷叫小说| 国模精品一区二区三区苹果色戒 | 色欲久久久久综合网| 天天色综合天天操| 乱理日韩中文| 中文字幕欧洲有码| 岛国视频一二三区| 麻豆这里只有精品| 97干天天| 亚洲学生妹高清av| 极品色www影院| 97人亚洲综合字幕| 国产精品丝袜在线| 强奸乱伦大香蕉| 亚洲欧美天堂在线| 91色欧美| 日韩人成网站在线播放| 青青草日本中文字幕| 九九综合九九综合| 成人丁香五月| 1204人成网站色www| 午夜偷拍久久熟女| 久久只有精品一区二区三区| 精品九九九九| 殴美在线AⅤ| 黑丝日韩av丝袜av| 国产无马在线| 国产精品女同| 97久久网| 青娱乐久久艹| 欧美 熟女 日韩| 人人摸.人人色| 亚洲激情天堂网| 欧美日韩中文字幕人妻| 激情五月丁香五月| 欧美日韩人妻精品系列一区二区三区| 丰满人妻一区二区三区四区| 99超碰色| 欧美97爱| 69超碰综合| 极品销魂美女一区二区 | 亚洲骚逼少妇| 亚洲色久| 日本幼女18+| 韩日无码在线观看| 久草线上视频免费看| 黄片免费久久久久久久| 91AV天美在线视频| 久久亚洲AV成人精品无码| 婷婷五月天无码 | 人人操人人摸人人看人人插| 亚洲色图加勒比| 秋霞成人做爱| 天天天堂影视日韩亚洲91| 中日韩久久久| 亚洲少妇综合| 久久男人的天堂国产| 久久免费9| 性色高清在线| 97资源视频| 男人的天堂在线| av资源在线播放天堂| 精品一区二区三区丰满熟女-亚洲欧美一区 | 国产玖玖| 日韩免费福利在线观看| 青青国产精品在线| 少妇一区二区三区高速| 国产中文日韩欧美一区二区三区人妻丝袜美腿 | 变态综合色| 日韩一级片在线看| 91观看 国产白丝| 99久久网站| 不卡一区视频| 婷婷久草一区二区三区| 国产传媒一区日韩| 日韩中文字幕国产| 天天草AV| 亚洲九月丁香| 日韩一卡二卡三卡| www.欧精品| 亚洲精品三区在线观看| 四虎av在线| 嗯嗯嗯啊啊啊在线免费观看| 美女诱惑一区| 九九拍拍精品视频在线播放 | 日韩黄片视频试看| 亚洲精品熟妇1区2区3区。| 国产精品乱人伊人网| yaouchengrenav| 婷婷情色五月天| 玖玖婷婷五月天| 自拍偷拍草一草| 中文字幕欧美日本乱码一线二线| 亚洲高潮少妇| 91影库| 啊啊啊啊免费视频| 欧美夜夜骑视频| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 男人的天堂2018.| 亚洲精品aa久久伊人| 久久一区二区蜜桃| 久久机热| 亚洲免费精品一区| 强奸乱伦中文字幕AV| 国产精品久久久吖| 91精品人妻一品二品三品| 日韩三级网址| 精品区国产区一区二区三区| AA级电影三区| 97精品一区二区三区免费| 99蜜桃臀久久久欧美精品网站| 色婷婷狠狠| 免费看欧美美女黄色大片| 日韩性爱啪啪视频| 男人的天堂1024| 蜜桃午夜视频一区二区 | 精品一区二区三区麻豆| 久久久久9久久久久| 99久久9| 日韩欧美经典在线观看| 无码天天操| 偷拍 欧美 日韩| 色老久久| 97 九色| 国产有码一区| 久久色人体| 日韩人妻大香蕉| 日韩成人大片一区二区| 操逼无码操逼| 熟女乱3伦999| 青娱乐休闲视频在线观看| 久久精品女同亚洲女同13| 久久久久78| 日韩精品电影| 97操在线| 久久综合精品一区二区三区| 伦理片秋霞免费影院| 国产精品网址| 中国国产精品一区视频| 一起草日韩| 久久久久久亚洲Av无码| 五码视频在线观看| 国产精品爆乳懂色蜜乳| 亚洲av性爱电影| 日韩97P| 天堂男人网| 亚洲成a人v欧美综合天堂下载| 亚洲天堂另类| 日韩九九九| 亚洲天堂精品日韩电影| 电家庭影院午夜69久久夜色精品国产69乱 | 久久中文字幕女同性恋一区| 偷拍亚洲高清图片| 另类图片天天影视| 97干在线|