色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

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
返回資訊列表
手机看片1025| 国产吹潮女在线观看| 最新9久久久9免费视频| 亚洲?V无码专区在线电影| 亚洲αv一区二区三区| 久久午夜伦| 亚洲青青草| 日本黄色精品专区网站| 91oumei| 美女上床网站| 男男H黄动漫啪啪无遮挡网站| 99热97| 久操国产在线| 开心激情站| 一本色道久久综合狠狠操| 国内亚洲精彩视频在线| 人妻少妇精品无码专区二区密桃| 亚洲全色网| 日韩性爱网址| 欧美97免费| 被操高清无码视频| 综合干干干av久久久综合网| 国产精品亚洲一级av第二区| 91天天爽| 五月天色色网站| 操老熟女AV| 国产亚洲日本精品在线| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 日日橹狠狠爱欧美超碰| 先锋激情∨在线视频播放| 欧美亚性天堂| 人妻一区二区三区四区视频| 激情久久av一区av二区av| 国桃视频产巨乳精品一区二区在线| 人妻黑丝袜电影| 水多多映视AV| 日本99久久| 亚洲诱惑| 首页中文字幕中文字幕免费| 色 亚洲 91| 日韩图区 偷拍| 天美麻豆黄色录像| 绯色一区二区三区不卡少妇| 五月香婷婷| 91日韩网站| 可以免费观看的av| 思思热在线cao| 天天热精品| 99精品视频在线观看| 国产粉嫩出水在线播放| 裸模AV女优| 男女性扦B| 美女操逼福利视频| 亚洲欧美内射| 综合激情五月丁香| 91国产操逼视频| 蜜桃成人1区2区3区| 久久在肏| 99热在线不卡| 国产精品自在线发布| 啊啊啊啊啊好舒服视频| **一级毛片国产| 嗯嗯不要视频| 色情亚洲日本成人| 粉嫩av在线一区二区| 91亚洲影视| 五月天婷婷影院| 国产性爱强奸乱伦大全| 99re69综合| 欧美日韩国产高清在线一二三区 | 亚洲人人操| 草草草视频在线免费看| 91在线观看,天天综合| 精品一啪| 欧美精品日韩一区二区| 噜噜噜噜久久久精品免费| 天天综合网~69| 国产一级内射高清视频| 久草精品一区 | 天天综合-91入口| 校园春色综合色| 国产熟女乱论| 天天日天天操天天射河南省| 男女香蕉一区二区| 青青草十区九区爱夜| 人人人人插| 亚洲另类春色| 91成人久久| 又粗又长又爽在线观看| 伊人热综合| 91天天美女| 精品大久久| 亚洲成熟国产精品美女| A级毛片在线看免费| 97国产精品久久久久| 女人爽到高潮潮喷18禁网站| 久久久久久日韩| 91少妇香蕉久久精品| 亚洲操人| 亚州AV无码国产精品| 午夜精品久久99蜜桃的功能章节| 亚洲好色人妻| 日韩操呦呦影院在线观看| 91超级碰碰碰| 伊人久久综合影院精品久久久| 欧美亚洲清纯| 少妇色综合| 五月黑AⅤ| 国产亚洲精品玖玖玖在线观看| 久久老熟女| 国产精品乱码久久久久久| 夜夜爽77777| 五月天婷婷综合| 三级色综合| 加勒比海色香蕉婷婷| 国产精品一级二级在线| 偷拍色图| 白丝在线一区| 一区二区三区色综合| 这里都是精品在线观看| 亞洲久久直播| 日韩激情中文字幕有码| 天堂中文资源在线bt| AVE乱伦| 97碰碰色| 亚洲天堂资源网| 久久久久久99999国产精品| 久草草一二三四区久久| 噜噜噜亚洲精品| 骚熟女吞| 97视频在线观看高清资源| 九九色综合| 久久男女激情视频网站| 婷婷五月在线视频| 又大又黄国产| 内射白嫩美女| 色欲人妻一区二区在线| 天天干天天日天天射黄色片| 亚洲综合99999| 欧美综合制服在线| 囯产精品强| 国产精品 午夜福利| 快点操死我| 国产人伦精品一区二区三区 | 97伦乱| 任你干在线视频| 亚洲人久久久网| 日韩欧美水蜜桃人妻| 亚精品无码毛片一区二区三区| 亚洲欧美国产中文字幕| 1二区9| 色www精品视频在线观看| 黄总AV色图| 日日干男人的天堂| 国产不卡中文字幕免费avi| 麻豆天美国美国产AV| 国产少妇与亚洲av| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 久久久工口| 另类亚洲图色| 久久爱超碰网| 尤物AV免费网站| 日本高清视频在线观看黄已三辽| 亚洲 欧美 综合 91| 色97综合中文字幕| 人人妻人人玩人人澡人人爽| 久久双插| 一区二区三区探花在线观看| 一区二区三区欧美激情| 夜夜騷av、一區二區| 午夜福利区| 欧美色九九九| 欧美在线第五页| 欧美人妻熟女在线| 国产91美女视频| 97这里只有精品| 99久久精品无码一区二区毛片免费 | 婷婷色播婷婷| 欧插网站| 欧美亚洲宗合色性图| 尤物视频新赏网鲜网色诱网| 91丝袜在线观看| 色色色欧美| 国产成人网站在线观看| 精品国产网站| 国产精品一区二区麻豆| 91无码人妻精品一区二区三区蜜桃| 日韩大香蕉| 最新三级网址| 夜夜嗨AV蜜臀av| 中出人妻中文字幕91在线| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 香港成人一级视频在线青青草| 亚洲欧美在线综合| 日韩大香蕉AV影片| 一级@啪啪视频| 999国产精品999| 午夜色婷婷| 天天弄欧美| 精品少妇高潮久久| 亚洲色91| 婷婷六月色开| 欧美日韩少妇色情| 熟女少妇视频| 国语国产操逼伊人AV网| 旡码电影特区| 人妻熟妇一区二区三区| 极品白嫩美女白浆成人福利在线看| 天美av在线观看| 60秒免费视频| 久久男人精品| 国内精品不卡无毒99999| 欧美日本视频一区| 美女尤物人人操| 久久久艹艹艹| 国产后入内射| 蜜乳AV.COM| 91 在线亚洲| 91久热| 18禁精品网站在线看| 久久久久久久久久久久久久久性生活视频| 亚洲天堂自拍| 亚洲欧美综合| 91N欧美| 超碰 国产熟女精品一区| 国产一区二区三三视频| 青青草在线视频人人想人人上| 夜夜无码| 93人人操人人| 韩国女主播青草在线| 欧美亚洲综合高清在线| 亚洲综合另类| 国产97色在线 | 亚洲| 人人人人插| 97亚洲性爱| 美女t无毒不卡不卡| 一级久久久久久久久久久| 久久深夜无码| 人人人摸人人| 麻豆精品A片免费观看| 亚州性9| 亚洲骚男同com| 18禁中文字幕| 日本顶级天天操狠狠操夜夜操中文字幕| 欧美日韩另类在线| 大香蕉欧美伊| 超碰色男人操熟女| 久久仑合| av天堂精品久久| 99r九九| 日韩av无码网站| 99亚洲精品| 亚洲欧美骚| 亚洲欧美成人在线| 一本久道久久综合狠狠爱一密臀精 | 夜夜爽77777| 亚洲少妇视频| 欧亚乱色熟一区二区三四区| 亚洲日韩人妻中文字幕一区| 91亚州日韩高清| 亚洲成人AB| 丁香九月婷婷| 偷拍导航视频网站| 麻豆60秒| 亚州五月| 2020中文字幕| 大JI巴好深好爽又大又粗视频| 午夜天堂精品久久久久91| 9久久精品| 无码91| 午夜男人的天堂| 91大胆欧美| 亚洲人天堂| 亚洲最大成人a毛毛片| 美女91色黄18| 久久综合五月天| 台湾佬大香蕉| 久久视网78| 777AV电影| 插入综合网| 97资源视频| 91色人| 男人天堂一区二区| 亚洲精品97| 性性久久| 爆乳免费黄网站| 无码137片内射在线影院| 夜夜操老骚逼视频网站| 丝袜剧情| 国产精品午夜AV完会免费 | 亚洲天堂性爱| 亚洲日韩成人性爱视频| 狠狠操使劲操| 九热超碰| 超碰三级秋霞| JIZZJIZZ亚洲女人被躁| 香蕉精品二区二区 | 中文精品一区二去| 91 国产丝袜在线播放-百度| 久久极品一区二区| av无码av无码专区| 999久久久国产精品| 亚洲 图片 欧美 色图| 粉嫩不卡一区二区性爱| 夜夜国自区| 亚洲一二三精品久久网| 十八禁视频网站| 欧美不卡在线一区二区| 玖玖久久久| 亚洲成人妻日韩在线| 天天干天天干天天| 日韩精品人妻一| 男女一级A片大黄,一进一出| 亚洲激情综合另类男同| 色爱亚洲| 青操影院| 日韩传媒在线| 综合色图区| 日韩Va亚洲va欧美Ⅴa久久| 亚州男人天堂| 91新在线欧美| 亚洲国产高清福利视频| 在线观看无码三级少妇| 精品一区二区三区蜜桃| 骚女高跟AV在线| 97国产精品国| 91狠狠综合久久久久久| 久久久免费的精品| 亚洲精品乱码线路中文字幕| 欧美v日韩v亚洲v最新在线| 老鸭窝在线视频播放| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 精品少妇一区二区三区免费观看| 亚洲欧美经典一区二区| 国产AV激情无码久久无码 | 99re6国产精品99re在线| 六十路日本| 国产操逼逼网| 成人精品在线免费视频| 久久久久久综合久久伊人蜜月| 久久久熟妇熟女国产| 欧美美女自慰一区二区三区| 伊人成人中文字幕久久网| 午夜福利1区2区3区| 日韩人妻无码不卡网站| 国产专区路线| av中文字幕在线熟女| 日本精品成人无码| 久久黄色性爱视频| 91bbb| 五十路三区在线| 国产吹潮女在线观看| 亚洲熟久久| 久久久久密臀视频| 亚洲综合一| ai欧美亚洲小说| 欧洲中文字幕| 亚洲诱惑| 美女丝袜激情小说| 69久久| 97操B| 日韩精品电影| 日本五区不卡| 无卡一区=区| 天天享受天天看| 91是天天| 日韩人妻无码精品系列| 啊啊啊啊啊啊啊在线| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 日本一级特级毛片视频| 香港澳门日本三级网站| 亚洲欧美另类激情小说| 日韩极品无码B| 午夜超爽| 最新国产亚洲精品精品国产亚洲综合| 亚洲暴力强奸AV| 久久香蕉综合一本到3atv| 最新中文字幕在线亚洲| 午夜一区| 五月丁香婷婷色| 成人性爱美曰韩| 桃花色涩综合影院| 国产在线76页| 啊a一区在线| 操学生天天| 美熟女逼导航AV操逼| 国产AV人人夜夜澡人人爽麻豆| 久久亚码| 亚洲性天堂| 尤物视频视频官网| 日韩卡一卡二卡三在线| 免费观看欧美日韩操逼视频| 精品国产网站| 97天天插| 人妻精品一区二区| 久久精品黄色| 日本免费人成视频播放120秒| 无码 有码 国产18p| 99热这里只有精品8| 天天天天干| 青草视频在线看看看看看看看看看| 天天干天天日天天射黄色| 91老熟女老女人国产老太| 中文字幕福利视频一区二区三区在线观看| 99热婷婷一区二区三| 欧洲黄色网| 日韩AV一起草| 日日AV加勒比| 9 1果冻精品视频| 中文字幕一区二区免费在线| 成人免费在线网站| 久热久一区二区三区| 我中文字幕6区| 亚洲成人贴图| wwwcaobibi| 色哟哟的毛片| 色综合久久夜色精品国产天堂| 国产日韩区| 亚洲激情av| 嗯啊不要啊啊在线观看视频| 色www精品视频在线观看| 国产精品久久久久久夜夜夜夜| 国产精品诱惑| 色综合V| 亚洲无码99| 亚州欧美一区| 久操操AV电影| 国产精品一二三免费网站| 骚女高跟AV在线| 国产精品一二三区18| 丁香九月激情| 亚洲综人| 天天搞在线综合网| 色哟哟-国产专区| 91熟女丨老女人| 黄在线| 少妇500双飞99| 熟女精品日韩一区二区三区| 欧美劲爆视频一区二区| 超碰人妻中文在线| 91操操操操| 婷婷色婷婷| 97操综合| 91久久免费视频互動交流| 黄色AV影视| 一本色道久久综合亚洲二区三区| 黑人狂躁日本妞一区二区三区| 欧美日韩理论一区| 97超碰色色| 亚洲色五月| 久久久久久久久久久久久久久久9| 久操视频在线| 亚洲欧洲综合视频在线| 五月天亚洲网| 亚洲欧美国产其他二区| 色综合超碰超| 手机在线人成免费视频| 亚州高清av| 操逼国产免费| 四虎免费视频| 韩国三级理论在线| 日本五区不卡| 欧美日韩第一页| 久久女女| 大香樵伊人网| 啊啊啊啊啊啊在线观看| 久久熟女人| 3PAV乱伦视频| 特级大荫道BBwBBwBBW| 91人妻人人澡人人爽人人精品| 国产一区96在线| 69精品| 91是天天| 欧洲综合无码| 校园春色综合香蕉| 天天干夜夜一操| 中文字幕乱偷人妻久久艾草网| 无码聚合| 性欧美999| 亚洲天堂,男人| 又大又大又大又粗爽高潮观看| 亚洲美乱| 午夜国产乱伦视频| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 精品妇操一区二区三区| 懂色天天爱天天日天天射天天澡| 91久久国外网| 一区二区娱乐网站| 91色狼| 成年男人的天堂| 操逼视频色| av久日| 狠狠色婷婷7777久| 成人性爱免费播放| 亚洲青青草| 色婷婷av在线观看| 日本久久女同性恋视频| jiujiujiujingpin| 五月天激情四射| 男人天堂网站| 亚洲欧洲第二视频在线观看色图| 日韩乱伦视频| 欧美激情 亚洲色图| 日韩三级久久久| 中文字幕日韩电影人妻| 欧美日韩国产高清在线一二三区| 密臀在线免费观看| AⅤ片水多多| 五十路二区在线| 中文字幕日本久久| 免费A片三p视频| 欧美影音在线| A级片日韩欧美国产欧美视频精选观看| 国产天美欧美| 欧美性爱视频免费一区一A| 夜夜欧美 | 亚洲成a人在线观看久| 色香网| 九月丁香综合网| 熟妇国产免费一区| 国产精品人人爽人人做可爱福利| 天美av在线| 97精品国产97久久久久久| 国产亚洲精品美女久久久久久2021| 麻豆天美国美国产| 久久久久久亚洲精品中文字幕人妻| 97色网| 天天干天天日天天射黄色片| 婷婷色导航| 欧美天天综合在线| 久久中文字幕在线观看| 青青草男人天堂| 先锋精品av色鲁| 性爱免费视频成人| 亚洲国产成人综合碰碰三级经典| 99国内熟女露脸视频| 色精品极品| 国产黄色 A 片免费看| 天天综合97| 情色大香蕉| 亚洲欧美一区二区不卡视频播放| 色操逼网| 日韩精品人妻中文字幕久久久| 热热色AV| 色综合98| 五月香婷婷| 无码WWW免费视频网站| 91青青草| 蜜臀th| 天天爽夜夜欢视| 开心五月深爱五月| 3p国产欧美99热| 欧美久久人人网| sewuyueav| nuu12国产麻豆精品| 一区二区精品更新提醒| 亚洲丁香花色| 性爱av在线免费观看| 边做饭边操逼逼| 亚洲综合在线91| 高潮综合网| 亚洲熟妇无码一区二区三区| 精品国产乱码久久久久久久久1| 中文字幕乱在线伦视频中文字幕乱码在线 | 亚洲男人天堂2013| 国产精品久久久777| 大香蕉宗合网在线| 免费精品福利在线观看| 隔壁邻居波多野结衣中文字幕| 色激情综合网站| 精品久9| 久久同城AV| 久啪| m欧洲一级午老| 东京热av男人的天堂| 爱欲AV| 歐美一級亂黃99在綫精品| 婷婷四五区| 欧美性天天影视| 男人的天堂在线有码| 精品一区二区三区蜜桃臀赵总| 91丨九色丨国产打屁股| Julia在线播放亚洲久久| 五月香婷婷| 91无码中出人妻视频| 欧美性爱伊人| 九九在线精品| 亚洲青青青视频在线| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 在线观看不卡一区二区三区| 亚洲情色 欧美| 九九热精彩视频| 亚州色图片在线色| 插插综合网天天影视网| 神马午夜久久| 免费观看成人www精品视频| 最新国内自拍av免费| 99国产在线 精品 视频| 成人亚欧免费视频| 天天躁日日躁AAAXX| 另类图片五月天| 久久98| 91oumei| 99re9这里只有精品| 久久草视频污视频| 91麻豆天美国产欧美高潮| av草草在线电影| 久久αⅴ| 天天爽夜夜爽夜夜爽精| 国产日逼视频| 久久综合99| 欧美成人亚洲精品| 中文字幕78| 亚洲成人在线乱码色午夜| 色五月AV| 狠日操| 婷婷五月天成人| 欧亚久久偷拍视频| 精品十八在线观看| 韩国免费播放一级毛片| 成人五月天丁香激情综合| 黄色性爱网网| 久久蜜桃一区二区| 偷拍精品一区二区三区| 逼操网站| 亚洲天堂区| www.高清无码诱惑一区.com | 日韩成人人妻网站| 天天碰久久入| 久久久久久AⅤ无码免费肉站| 九九热在线视频| α√在线| 激情综合久久| 97色论| 欧美天堂亚洲电影院一区在线播放 | 五月丁香黄色网| 国产乱码精品一区二区三区四川| 91久久久久免| 97香蕉人人乳| 精品人妻一区二区三区视频在线| 日韩免费簧片| 国产 码在线成人网站| 久久有码| 人妻少妇精品久久久久久久| 亚洲一区二区三区AV无码| 亚洲成人一二三区| www.acm成人黄色毛片| 欧美中日韩XXXX| 97精品| 顶级丝袜熟女一区二区三区 | 青青草中文字幕| 免费啪啪一级视频| 看黑丝美女操逼青青网站| 久久久久白虎| 中文字幕av亚洲在线| 久久成年精品| 久草加勒比一区在线| 美女黄频a美女大全免费皮| 国产午夜视频| 东京热一区二区中文字幕| 精品蜜乳AV免费观看| 婷婷五月天综合网| 伊人久大| 人人操人人大香蕉| 成人十八禁日韩欧美一二三| 日韩免费在线观看不卡| 香蕉在线一区二区三区| 九九九九精品在线| 亚洲av淫乱| 亚洲黄色网址| 可以在线观看的黄色网址| 久插综合| 亚洲**2021在线观看| 超踫中文字幕| 国产97亚洲| 国产精品电影| 941超碰| 国产精品一级片在线看| 神马久久69| 国产性爱在线视频一区二区| 亚洲大色堂| 麻豆视频国产一区二区| 嗯~啊~快点 死我视频| 国产美女高潮| 青青青国产| 亚洲中文字幕在现观看| 1956日韩精品| 无遮挡男女激烈动态图| 日本丝袜美腿人妻九九| 日产欧美电影一区二区三区| 97硬碰| 伊人专区一区二区三区| 久久婷婷色综合一区二区三区| 欧美日韩中文字幕人妻| 亚洲情色91| 色综合一本| 日日夜夜国产综合| 亚洲一区操| 欧美韩国你懂得在线 | 啊a一区在线| 青娱乐淫乱1314| 青青草伊人久久| 密乳无码| 91九色丰满高潮| 亚洲成人一区二区精品| 91黄射| 五月天婷婷综合网| 九九九久久久| 伊人玖玖网| 人人摸人人添人人操| 天天综合站| 久久丁香| 麻豆国产97在线| 中国小夫妻勾搭露脸淫荡对白| 无码天天操| 婷婷性网| 成人情色一区二区| 91性感在线| 高树玛利亚无码流出| 亚洲黑丝在线| 性爱视频免费网址| AV99热18这里只有精品| 国产在线视视频有精品| 亚洲97超碰| 欧美色图成人网一区二区| 综合免费无码中文| 熟妇人妻精品一区二区| 婷婷五月天久久精品视频一区二区三区 | 一级片在线观看高清无码| 欧美激情亚洲情色| 国产女人高潮视频| 亚洲色系另类精品国产| 高清无码学生妹高潮| 久久婷婷色| 国产精品懂色tv影视免费观看| 亚洲永久永久永久永久一级一级一级精品 | 99re8超碰| 国产精品久久伊人| 特色a在线上| 一区二区视频你懂的| 在线播放成人网站| 成人免费看吃奶视频网站| 亚洲自拍小说| 日日黄色三级网站| 99精品在线观看| 国产亚洲精品无码三区| 欧美性性性| 夜夜 中文视频rt| 亚洲性爱高潮影院| AA特级绝黄| 大香蕉狠狠爱| 亚洲美女30b| 99热精品免费| 免费簧片在线观看| 久久久久亚洲Av无码专区老牛影视| 久久同城AV| 欧美日韩99精品麻豆传媒| 啪一啪免费视频| 无码高清操逼| 欧亚 另类 久| 2026国产精品视频| 日日日啊啊啊| 欧洲色| 色综合久久88色综合久久天天| 大学生美女口爆| 色婷婷日韩精品一区二区三区| 日韩国产十八禁| 97资源制服丝袜| 日本肉体xxxx裸交| 亚洲 一区二区 自拍| 亚洲丝袜综合| 国产精品69久久久久久久| 91九九九小逼| 精品久久久久瑟瑟| 99国产人成精品| 国产一区二区啪啪视频| 色天使亚洲综合在线观看| av网站在线看| 9久久久久| 东北老熟女| 天天操天天干美女网址导航| 国产精品久久久久久久久久久久久久久久 | 777超碰| 深夜激情| 91操熟女视频| 婷婷探花久久精品一区| 久九9精品| 热的中文 热的有码 热的国产| 夜夜狠狠躁日日躁色视频| 男人的天堂2010| 五月天激情婷婷| 婷婷五月av| 久久色情| 99色婷婷| 激情五月综合| 中文字幕第页| 中文字幕人妻丝袜| 欧美在线官网| 天美传媒av 在线| 大伊香蕉在线视频免费| 91欧美色| 九九探花视频在线观看| 亚洲日本大香蕉1| 国产免费永久精品无码| 欧美色网| 女人双腿搬开让男人桶| 国产中文精品一区二区在线观看| 天天拍夜夜| 91色综合激情| 天堂资源欧美| 又黄又粗又硬又长又大| 97在线欧洲| 神马久久69| 亚洲 欧美 小说| 欧美九九爱| 男人天堂.AB| 欧美爆操91| 国产青视频| 97频视在线| 无码精品啪啪啪一区二区三区三州| 人妻色情天天操| 久草电影网| 欧洲亚洲少妇| 草草草视频在线免费看| 另类欧美色| 99婷婷一区二区| 在线观看高清AV| 伊人五月天激情| 国产精品秘 福利姬在线观看| 丁香色五月 97干| 91粉芽高清在线一区二区| 操穴国产| 欧美青青视频| 久久亚洲日韩熟女精品| 久久国产乱子伦精品免费女,网站| 欧美激情综合网| 亚川综合视频| 偷窥自拍A片| 偷窥自拍亚洲色图| 熟女在线视频| 9热9热综合网| 任你干在线视频| 精品无码少妇| 色哟哟AⅤ| 日韩三级天堂在线观看| 亚洲天堂,男人| 91麻豆天美传媒HD| 天天日骚逼熟女| 免费操逼91| 老熟女乱子伦中文字幕一区二区| 国产AV久久久蜜爱影集| 极品五月天噜噜| 中文字幕第23区| 亚洲第一视频 欧美风情 日韩| 久久国产精品m码| 午夜a成v人电影| av一区二区三区 中文| 青青爽| 亚洲国产中文字幕| 91成人18| 午夜黄色免费在线观看| 九九九九九九亚洲| 五月天亚洲网| 国产色产精品在线观看| AV一区观看| 色综合久久久久| 久久久久ab| 色97干| 日韩人妻中文视频| 97蜜桃综合| 后入式999| 日本成熟少妇A∨网站| 香蕉婷婷| 欧美夜夜骑视频| 欧美加勒比| 大香蕉黄色一级片免费看| 91校园春色长篇| 中文字幕诱惑制服人妻丝袜美丝袜美| 久久老女人| 色播综合| 亚洲 欧美 小说| 日本布卡一区二三区| 人妻丰满熟妇一区二区三| 99精品在线观看| 97超碰免费人人性爱| 亚洲少妇在线观看| 中国亚洲呦女专区| 一直超碰| 9久在线视频只有精品| 91久久久久久| 中文字幕在线第二页| 熟女这里只有精品6| 伊色综合天堂色97| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 欧美一区二区三区互相| 久久老子无码午夜伦不卡| 日欧毛片久久| 亚洲 欧美 日韩 国产一区二区 | aⅴ日韩成人电影av在线免费看av大全 | 欧美综合色站| 欧美78P| 性爱av网站| 欧美大色交| 日韩免费看在线黄色片| 欧美精品在线观看| 另类图片天天影视| 五月丁香大香蕉| 久草老司机| 操操逼操操逼操操逼逼| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 蜜臀操逼黄色视频操的好爽| 欧美成人综合| 97精| 国产少妇与亚洲av| 久久久久久久9| 婷婷五月色| 男人的天堂99| 婷婷久草| 亚洲美女精品九九视频| 97婷婷色| 干B网| 色性综合| 色色九区| 五月天婷婷欧美三区| 少妇熟女一区二区三区| 九月丁香婷婷| 中文字幕乱码在线观看| 婷婷月色| 精品福利| 亚洲一区二区三区麻豆传媒| 欧美区亚洲区偷拍区| 97 超碰 人人做 人人爱| 久久精品午夜国产亚洲AV无码| 色婷婷综合久久中文字幕雪峰| 三男一女不戴套的A片| 九九热五区| 亚洲欧洲综合av在线| 亚洲视频二区 | 青青草日本无码| 熟妇一区二区| 狠狠色色| 97综合网| 大香蕉宅男伊人| 久久成人国产| 十八禁电影伊人网| 午夜偷拍久久熟女| 高清无码学生妹高潮| 五月丁香综合网| 国产精品午夜AV完会免费| 青青草吊丝| 欧美激情另类一区二区| 欧美天天在线| 久久毛卡| 国产人妻精品一区二区三区秋霞| 手机看片1025| 狠狠爱大香蕉| 少妇人妻精品| 国产1769在线| 99中文字幕| 久久人人妻| 可以在线观看的黄色网址| 91美女视频电影| 激情丁香五月婷婷| 立川理惠被中出无码| 久久日本熟女精品一区| 影音先锋国产精品| 水多多映视AV| 国产精品2020| 五月天婷精品激情| 亚洲国产97| 区二区亚洲婷| 一区二区三区视频| 3PAV乱伦视频| 色五月AV在线| 亚洲AV无码天美传媒一区| 亚洲国产另类在线中文| 97精品国产精品免费观看| 色情综合| 18禁无码永久免费无限制| 九一国产精品| 1956日韩精品| 啪一啪免费视频| 大JI巴好深好爽又大又粗视频| 久久久∴| 九九九九久久久| 亚州免费啪啪视频| 极品色综合| 精品999日本| 亚洲人妻一区二区三区| 成人蜜乳小视频网站| 午夜操操操| 97免费在线视频在线观看| 亚洲无码一二三区| 亚洲欧美综合| 青青草五月份天| 人妻在线臀日韩| 国产精品青草综合久久| 老熟女乱伦一区| 91精品人妻一品二品三品| 97超碰免费人人性爱| 国产丝袜视频| 丁香五月综合| 天天射天天操天天干天天吃2018| 另类图片五月天| www.高清无码诱惑一区.com | 日韩精品中文字幕人妻| 色欲久久99精品久久| 天天综合网国产| 日本日皮视频逼| 国产乱色国产精品免费视| 美女久久久久久久久久久| 九热超碰| 国产亚洲色婷婷99精品91| 亚洲色图激情小说| 99国产在线 精品 视频| 精品久久久av无码免费| 亚洲综合伊人无码久久| 无毛精品| 97公开久久| 第四色亚洲色图| 1024日韩| 国产亚洲精品美女久久久久久2021| 国产强奸无码乱伦| 亚洲综合伊人无码久久| 人人妻天天做天天爽| 极品久久久久久久久久久久久久| 色综合中文字幕不卡| 这里都是精品在线观看| 郑州宾馆老熟女露脸啪啪| 亚洲熟女精品| 亚洲图片激情小说| 天天日夜干| 亚洲精品91| www男人天堂| 国产美女91| 麻豆色99999| 色臀aV| 国产乱码久久久久久| 亚洲色91C| 亚洲国产一级中文综合久久天堂在线免费观看 | 少妇高潮99p| 欧美图片偷拍| 99色| 欧美精品四区| 女人爽到高潮久久久| 色色99| 大胆91| 97在线免费看| 国产精品女同| 丁香五月婷婷基地| 五月综合久久| 丝袜AV一二三区| 天天操女人| 67194无码不卡| 中文久久一区| 青青草啪啪网| 中文字幕女同在线| 啊啊啊不要嗯嗯在线观看| 男人的天堂久久狠| 欧洲自拍第一页| 日韩欧美中文字幕搭讪巨乳美人妻视频| 亚洲欧美校园| 国产精品成人午夜福利| 91日韩国产欧美亚洲另类精盘州至城都| 欧美日韩亚洲天堂| 亚洲熟女诱惑| 91无码精品| 欧美色就是色| 国产二区三区免费视频| 自拍偷拍国产欧美日韩韩| 家庭乱伦国产| 天堂无码精品国产久| 黄色一级视| 91丨九色丨东北熟女| 国内精品不卡无毒99999| 久久深夜无码| 天天搞欧美| 狠狠操使劲操| 欧美精品99久久久**| 欧美黄色片AAAAA| 啊啊啊啊视频免费| 久久久久久久久久久久九| 啊啊啊水好多| 一级片视频啪啪| 综合影视国产无码| 久久超碰爱| 1024手机看片欧美日韩| 青青草在线视频播放器| 男女性无套 免费九一| 久久国产在线一区二区| 天天看天天在线精品| 国产高潮AA片免费看| 久草综合京东| 9999亚洲精品| 综合亚洲欧美| 日韩AV无码网站| aaaa少妇高潮大片| 日韩精品99999| 欧美日韩国产电影| 亚洲。天堂。日本在线观看| 国产人人干| 精品人妻一区二区三区日产乱码| 久久精品日韩| 狠狠色色| 熟妇高潮一区二| 国产一线二线三线av| 国内精品久久人妻性色av| 黄色一级视| 久久久久久大| 性九九九九九九| 91丨人妻丨国产丨丝袜| 欧美操逼熟女| 91人妻爽爽人人做人人澡| 2017大香蕉国产精品久久| 综合色久欲| 资源新线在线天堂| 欧美一级国产一级| 欧美综合站| 亚洲老司机123专区| 夜夜欢天天干| 暴力av在线| 少妇一区二区三区精选| 蜜臀少妇一区二区| 亚洲人人夜夜澡人人爽| 日本伦乱九九九综合| www.色婷婷| 色在线69堂| 91P0RNY大屁股人妻| 丝袜大香蕉| 亚洲女人毛茸茸91| 在线无码视频| 日本天堂网| 99re超碰| 综合色99| 日韩欧美天天爽爽爽天天爽爽| 午夜小电影在线插入淫高潮| 国产激情久久| 91激情国产| 亚洲第一精品在线视频| 96AV久久久| 91黑丝在线| 开心五月婷婷| 欧美日韩制服| 免费看欧美美女黄色大片 | 成人无码欧美一级A片狼牙直播| av午夜影院在线播放| 久久偷拍人| 三级日韩一区二区三区| 婷婷色一区| 欧美在线天堂| 丁香五月偷拍| 蜜臀99久久精品久久久久久| 国产综合永久精品日韩鬼片| 久久久久ab| {男男暴菊gay无套网站| 久久久999网站| 91欧美大片| 人人手机欧洲亚洲国产人妻| 9999久久久| 伊人综合色网|