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

ARTICLE DETAIL

資訊詳情

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

Mapbox GL線條樣式全解析:從line屬性配置到數(shù)據(jù)驅(qū)動動態(tài)渲染

Mapbox GL線條樣式全解析:從line屬性配置到數(shù)據(jù)驅(qū)動動態(tài)渲染 我最早接觸 Mapbox 的線樣式時第一反應(yīng)是這玩意兒不就調(diào)個顏色和粗細(xì)嗎真正上手才知道線條樣式在 Mapbox GL 里對應(yīng)的是一整套以line-開頭的 paint 屬性體系從基礎(chǔ)的線寬、顏色到虛線、漸變、描邊、偏移再到數(shù)據(jù)驅(qū)動樣式組合起來能玩的花樣非常多。如果你也在用 Mapbox 畫路線、邊界、等值線或者軌跡這篇就把線條樣式從配置到原理、從靜態(tài)到動態(tài)完整拆開講清楚順便把我踩過的坑也一并交代了。先說下這篇內(nèi)容的范圍以 Mapbox GL JS v2/v3 為主涉及addLayer添加line類型圖層、核心 paint 屬性的作用機(jī)制、GeoJSON 數(shù)據(jù)格式要求、樣式動態(tài)更新最后是幾個高頻問題的排查過程。適合剛接觸 Mapbox 的初學(xué)者也適合已經(jīng)能跑通基礎(chǔ)地圖、想在樣式細(xì)節(jié)上做深的朋友。1. 動手前的裝備Token 獲取與首次初始化很多人在 Mapbox 官網(wǎng)注冊賬號之后卡在了第一步到底去哪拿 token拿到之后又該放哪。這個環(huán)節(jié)看似基礎(chǔ)實際上后面所有圖層能否正常顯示都跟它直接相關(guān)所以先把這塊踩實。1.1 注冊與 Token 獲取的正確姿勢注冊流程沒什么特別的去 Mapbox 官網(wǎng)用郵箱注冊完成郵箱驗證后進(jìn)入賬戶后臺。注意一個細(xì)節(jié)Mapbox 的 Access Token 分幾種包括默認(rèn)的 public tokenpk.開頭和 secret tokensk.開頭。前端地圖渲染用的是 public token 就夠了secret token 千萬別寫進(jìn)前端代碼里它泄露了相當(dāng)于你的賬戶額度被人白嫖。在后臺的Account Tokens頁面可以創(chuàng)建新 token。創(chuàng)建時建議手動選擇一個 scope 集合至少要包含styles:read、fonts:read、tiles:read這幾個權(quán)限對應(yīng)了加載樣式、字體和瓦片的基礎(chǔ)需求。Token 創(chuàng)建完成后有一串很長的字符串就是類似pk.eyJ1Ijoi...的長文本復(fù)制保存好。1.2 初始化地圖Token 放哪才不會被坑初始化地圖時 token 的注入方式有兩種一種是在引入 Mapbox GL JS 的 script 標(biāo)簽之前直接給mapboxgl.accessToken賦值另一種是在new mapboxgl.Map()的構(gòu)造參數(shù)里通過accessToken字段傳入。推薦第一種代碼更清晰mapboxgl.accessToken pk.eyJ1Ijoi...; const map new mapboxgl.Map({ container: map, style: mapbox://styles/mapbox/streets-v12, center: [116.4, 39.9], zoom: 10 });這里有個常見的坑token 放到了 DOM 元素加載之前執(zhí)行。如果你把mapboxgl.accessToken ...寫在了#map這個 div 的前面而且用了document.getElementById(map)去拿容器大概率會報Container not found。反正我建議把地圖初始化代碼整體放在頁面底部或者用window.onload/DOMContentLoaded包起來順序問題就徹底沒了。初始化完成后如果你能看到 Mapbox 默認(rèn)的街道底圖說明環(huán)境已經(jīng)通了。接下來所有線條相關(guān)操作都建立在這張底圖之上。2. line 圖層的骨架Source 數(shù)據(jù)格式與 addLayer 配置線條不是憑空畫出來的它必須先有數(shù)據(jù)源source再通過圖層layer定義怎么畫。Mapbox 的這套數(shù)據(jù)與樣式分離設(shè)計一開始可能會覺得繞但理解了之后會發(fā)現(xiàn)它特別適合做動態(tài)換膚和交互高亮。2.1 GeoJSON 里 LineString 的格式約束Mapbox 中最常用的 source 類型是 GeoJSON線條對應(yīng)的幾何類型是LineString或MultiLineString。一個最簡單的線條數(shù)據(jù)長這樣{ type: FeatureCollection, features: [ { type: Feature, properties: { name: 路段A, speed: 80 }, geometry: { type: LineString, coordinates: [ [116.4, 39.9], [116.5, 39.92], [116.6, 39.88] ] } } ] }有幾點要提醒坐標(biāo)順序是經(jīng)度在前、緯度在后寫反了線條會跑到地圖另一頭去我第一次就把這個順序搞反了折騰了半天才發(fā)現(xiàn)是經(jīng)緯度反了。另外LineString至少需要兩個坐標(biāo)點MultiLineString則是多個LineString的數(shù)組適合表達(dá)一條整體邏輯線路的多段不連續(xù)幾何。properties 字段是自由擴(kuò)展的它不會直接決定樣式但它是后面做數(shù)據(jù)驅(qū)動樣式的關(guān)鍵。比如你想根據(jù)道路的speed屬性給線條上不同顏色靠的就是 properties 里的字段。2.2 addLayer 的兩個核心參數(shù)source 與 paint給地圖添加線條圖層的完整代碼如下map.addLayer({ id: route-line, type: line, source: { type: geojson, data: geojsonData }, layout: { line-cap: round, line-join: round }, paint: { line-color: #ff6b6b, line-width: 4, line-opacity: 0.8 } });這里我會特別強(qiáng)調(diào)type: line這個字段。Mapbox GL 的圖層類型不止一種如果你把type寫成了fill那面的填充邏輯會覆蓋掉線的繪制邏輯線條直接消失。實際開發(fā)里我遇到過幾次圖層添加了但地圖上啥也沒有的情況排查到最后都是這種低級錯誤。layout和paint是兩個不同的屬性組layout 控制的是幾何層面的渲染方式比如線帽長什么樣、拐角怎么連接paint 控制的是視覺樣式比如顏色、寬度、透明度。在 Mapbox 文檔里這兩類屬性用不同的前綴標(biāo)識line-開頭的屬性一部分歸 layout一部分歸 paint需要具體區(qū)分。我習(xí)慣記憶的方式是改顏色、寬度、透明度、模糊、偏移這類給人看的效果是 paint改端點形狀、連接形狀這些幾何構(gòu)造方式是 layout。2.3 直接內(nèi)聯(lián) source 與事先定義 source 的區(qū)別上面代碼里把 source 直接寫在了addLayer的source字段里這是 Mapbox GL JS 支持的一種快捷寫法數(shù)據(jù)會被隱式創(chuàng)建一個 source。但如果你需要多個圖層共用同一份數(shù)據(jù)——比如一套線數(shù)據(jù)既用來畫道路又用來畫道路兩側(cè)的描邊那最好顯式先添加 sourcemap.addSource(road-data, { type: geojson, data: geojsonData }); map.addLayer({ id: road-line, type: line, source: road-data, paint: { line-color: #333, line-width: 6 } }); map.addLayer({ id: road-outline, type: line, source: road-data, paint: { line-color: #fff, line-width: 2, line-offset: 3 } });這種一個 source 多個 layer的模式在實際項目里非常常見做道路網(wǎng)、地鐵線路圖時幾乎必用。原因是 Mapbox 允許同一條幾何數(shù)據(jù)用不同的 paint 參數(shù)渲染多遍疊加在一起就是描邊、發(fā)光、陰影等效果而不用復(fù)制數(shù)據(jù)。3. 線條樣式核心屬性從基礎(chǔ)到進(jìn)階逐步拆解這節(jié)是全文的重頭戲。我把line-開頭的常用屬性按基礎(chǔ)三件套幾何形態(tài)控制進(jìn)階視覺特效數(shù)據(jù)驅(qū)動四個層次來講每一層都給出可以直接抄的配置。3.1 基礎(chǔ)三件套顏色、寬度、透明度line-color是最直觀的屬性支持十六進(jìn)制、rgb()、rgba()、hsl()等格式。特別注意如果使用了line-gradient線性漸變line-color會被忽略兩者不能同時生效。line-width的單位是像素但這里的像素是屏幕像素而非地理單位。當(dāng)?shù)貓D縮放級別變化時默認(rèn)為line-width不會隨縮放等比變化除非你手動做了interpolate表達(dá)式按 zoom 插值。這是一個地圖項目里非常常規(guī)的需求小比例尺時線細(xì)一點大比例尺時線粗一點如果直接固定一個值放大后線條會顯得過細(xì)縮小后又會糊成一團(tuán)。line-opacity控制整體不透明度取值0到1。如果線條下面還有別的圖層需要露出下面的內(nèi)容就用 opacity 做半透明處理。我一般把 opacity 用在背景輔助線上比如行政區(qū)邊界疊加到底圖上半透明效果會讓主圖層更突出?;A(chǔ)三件套組合的最小配置paint: { line-color: #2b6cb0, line-width: 3, line-opacity: 0.9 }3.2 幾何形態(tài)線帽與拐角line-cap控制線頭形狀可選值有butt平頭、round圓頭、square方頭。默認(rèn)是butt線條在端點處平直切斷。round是最常用的尤其在繪制道路、軌跡時圓頭看起來自然很多不會有被刀切了一刀的生硬感。line-join控制折線拐角處的連接方式可選值bevel斜切、round圓角、miter尖角。道路、河流這種自然元素首選round拐彎平滑如果是建筑輪廓、規(guī)劃紅線這類偏硬朗的圖形可以選miter或bevel。有個細(xì)節(jié)miter模式下如果拐角角度太小會出現(xiàn)尖角過長甚至超出預(yù)期繪制范圍的問題。Mapbox 為此提供了line-miter-limit屬性默認(rèn)值2意思是當(dāng)尖角長度超過線寬乘以該值的倍數(shù)時會自動切換為bevel渲染。你不需要經(jīng)常調(diào)它但知道這個機(jī)制后遇到尖角變形就不會慌了。3.3 虛線、點線與其他 patternline-dasharray是畫虛線用的屬性值為數(shù)字?jǐn)?shù)組表示實線段和空白段的長度比例單位是線寬的倍數(shù)。例如line-dasharray: [4, 2]表示畫 4 倍線寬長度的實線、空 2 倍線寬長度的空白循環(huán)往復(fù)。這個倍數(shù)關(guān)系很重要——同一個 dasharray 數(shù)組在不同線寬下虛線的實際疏密會隨之變化。比如線寬 2 時[4, 2]的實線段是 8 像素線寬 10 時實線段就是 40 像素。如果希望虛線視覺疏密絕對一致需要結(jié)合 line-width 一起做 interpolate 調(diào)整否則會顯得很奇怪。Mapbox 的線帽和虛線有個聯(lián)動機(jī)制要留意當(dāng)line-cap為butt時虛線段的端點會整齊切斷當(dāng)line-cap為round時每個實線段的兩端會變成半圓形線段之間的視覺間距看起來略短。一個常見效果——鐵軌線就是round線帽加[2, 1]這種短周期 dasharray 產(chǎn)生的很適合用在跑步路線、規(guī)劃中的道路這類場景。3.4 進(jìn)階視覺描邊、偏移與模糊line-offset可以把線條沿垂直方向平移一段像素正值為向右上偏移負(fù)值為向左下偏移。這個屬性的作用非常廣實現(xiàn)道路描邊、雙線道路、地鐵線路的平行線效果都靠它。一個典型的雙線道路做法先用一個line-offset: -4的圖層畫一條較寬的顏色甲線條再用line-offset: 4的圖層畫一條較窄的顏色乙線條。因為兩條線共用同一個 source幾何一致偏移方向相反視覺上就形成了道路中央分隔線的效果。line-blur給線條添加高斯模糊單位像素。配合較大的 line-width可以做出光帶效果常用于軌跡高亮、航線展示。要注意的是line-blur的模糊是向內(nèi)外兩側(cè)均勻擴(kuò)散的模糊半徑超過線寬一半時線條中心會變淡出現(xiàn)空心感。我一般把 line-blur 設(shè)為線寬的 0.8 到 1.2 倍之間這樣既有光暈感又保留中心實體。line-gap-width是空心線的核心。它在線條內(nèi)部掏空一塊區(qū)域掏空寬度由該屬性決定。比如線寬 10、gap-width 4視覺上就是兩條各 3 像素的平行線夾著一條 4 像素的空白。做地鐵線路圖時一個線路圖層用 gap-width 配合深色背景就能畫出兩條平行軌道線再疊加一個白色小圓點圖層當(dāng)車站標(biāo)準(zhǔn)的軌道效果就出來了。// 雙軌效果配置 const trackLayer { id: track, type: line, source: metro-line, paint: { line-color: #333, line-width: 8, line-gap-width: 5 } };3.5 線性漸變line-gradient 的使用邊界line-gradient允許線條顏色沿路徑方向漸變例如從起點到終點由綠變紅非常適合表達(dá)一條路徑的強(qiáng)度變化性能指標(biāo)、擁堵程度等。它的使用機(jī)制和普通的 paint 屬性有很大不同必須配合line-gradient表達(dá)式且表達(dá)式需要一個[line-progress]作為輸入。paint: { line-width: 6, line-gradient: [ interpolate, [linear], [line-progress], 0, #2ecc71, 0.5, #f1c40f, 1, #e74c3c ] }[line-progress]是一個特殊變量取值從 0 到 1表示線段從頭到尾的進(jìn)度比例。不能直接拿 properties 里的某個數(shù)值來做漸變的輸入只能用 line-progress。另外line-gradient生效時line-color完全失效且Mapbox 文檔里明確 line-gradient 不支持?jǐn)?shù)據(jù)驅(qū)動也就是不能根據(jù)不同 feature 動態(tài)切換漸變規(guī)則它只能做全局統(tǒng)一的一條漸變管線??赡苡腥藭柲俏蚁虢o不同路段設(shè)置不同顏色而不是一條線上漸變該怎么做答案是回到數(shù)據(jù)驅(qū)動用line-color配合match或interpolate表達(dá)式按 properties 里的字段映射顏色。這才是按屬性區(qū)分顏色的正解。4. 動態(tài)改樣式與條件式渲染從靜態(tài)到交互靜態(tài)線條只能看動態(tài)改樣式才有靈魂。Mapbox 提供了setPaintProperty這個方法可以在運(yùn)行時更新圖層樣式。這一步掌握之后懸停高亮、篩選顯示、主題切換都手到擒來。4.1 setPaintProperty 更新單屬性map.setPaintProperty(route-line, line-color, #e74c3c); map.setPaintProperty(route-line, line-width, 8);第一個參數(shù)是圖層 id第二個是 paint 屬性名第三個是新值。這個方法會以動畫方式更新樣式視覺上非常平滑。需要注意setPaintProperty 只能更新 paint 屬性不能更新 layout 屬性。如果你想換line-cap或line-join得用setLayoutPropertymap.setLayoutProperty(route-line, line-cap, butt);雖然 layout 屬性改動不觸發(fā) paint 的動畫過渡但也不會造成地圖整體重載所以不用擔(dān)心閃爍問題。4.2 數(shù)據(jù)驅(qū)動樣式match 和 interpolate 表達(dá)式的實際使用Mapbox 的樣式值支持表達(dá)式語法這意味著你可以在paint里寫一個函數(shù)而不只是一個常量。最常見的兩個場景場景一按類別給顏色假設(shè) route 數(shù)據(jù)里有type字段值可能是expressway、local、footpath想分別顯示紅、黃、綠paint: { line-color: [ match, [get, type], expressway, #e74c3c, local, #f1c40f, footpath, #2ecc71, #95a5a6 // 默認(rèn)兜底色 ], line-width: [ interpolate, [linear], [zoom], 8, 2, 12, 4, 16, 8 ] }match語法第一參是取值表達(dá)式后面是值-顏色成對出現(xiàn)的映射最后必須有一個兜底值不然匹配不到時會報錯。[get, type]表示從 feature 的 properties 里取 type 字段。場景二數(shù)值連續(xù)映射顏色如果屬性值是連續(xù)數(shù)值比如speed從 0 到 120想從綠色漸變到紅色paint: { line-color: [ interpolate, [linear], [get, speed], 0, #2ecc71, 60, #f1c40f, 120, #e74c3c ] }注意這里第一參是[linear]也可以用[exponential, 0.5]來做非線性插值但一般線性就夠用了。數(shù)據(jù)驅(qū)動樣式是 Mapbox 最強(qiáng)大的特性之一它的性能也足夠好Mapbox GL 通過分塊檢查 feature 的屬性值并按需重繪幾千個 feature 的樣式切換基本無感。4.3 鼠標(biāo)懸停高亮與 feature-state 的結(jié)合懸停高亮經(jīng)常會用到feature-state這個機(jī)制比直接改源數(shù)據(jù)更高效。先在 source 上設(shè)置promoteId比如數(shù)據(jù)里每條 feature 有id字段map.addSource(route-data, { type: geojson, data: geojsonData, promoteId: id });然后在 paint 里用[feature-state, hover]作為條件paint: { line-color: [ case, [boolean, [feature-state, hover], false], #ff6b6b, #2b6cb0 ] }鼠標(biāo)移動時通過setFeatureState更新狀態(tài)map.on(mousemove, route-line, (e) { if (e.features.length 0) { const featureId e.features[0].id; map.setFeatureState({ source: route-data, id: featureId }, { hover: true }); } }); map.on(mouseleave, route-line, () { map.removeFeatureState({ source: route-data, id: hoveredId }); });這套方案比setPaintProperty去逐條覆蓋顏色精準(zhǔn)得多因為它按 feature 粒度管理狀態(tài)不會污染其他線條。如果數(shù)據(jù)里沒有 id 字段Mapbox 會基于坐標(biāo)生成內(nèi)部 id但那個 id 不穩(wěn)定盡量保證數(shù)據(jù)里有穩(wěn)定的 id。5. 高頻坑與完整排查鏈路從線沒顯示到虛線不生效這里寫幾個我在實際項目中踩過、也幫別人排查過的典型問題。每個問題我都盡量還原完整的排查思路而不是直接丟結(jié)論因為排查思路本身比結(jié)論更有復(fù)用價值。5.1 坑一圖層加了但線完全看不見現(xiàn)象代碼不報錯地圖正常加載但 target 圖層區(qū)域空空如也。排查鏈路打開瀏覽器開發(fā)者工具在 Console 里看有沒有Unable to load source之類的報錯如果有先查 source 的 data URL 是否正確或者內(nèi)聯(lián) GeoJSON 是否格式非法。在 Console 執(zhí)行map.getLayer(route-line)返回undefined說明圖層壓根沒加上返回圖層對象但看不到說明數(shù)據(jù)或樣式有問題。執(zhí)行map.getSource(route-data)獲取 source 后調(diào)用getData()展開輸出的 JSON檢查 coordinates 數(shù)組里每個點是否[lng, lat]順序正確數(shù)值是否在合法范圍。檢查type是否為line。我見過有人把 GeoJSON 里的 geometry type 和 layer type 搞混geometry 是LineString但 layer 的type寫成了fill結(jié)果整個區(qū)域被填充而不是線條。檢查line-width是否被設(shè)成了0。說實話我有一段時間為了做只在某 zoom 級別顯示線用表達(dá)式把寬度設(shè)為 0后來忘了改回來排查了非常久。5.2 坑二虛線不生效顯示的還是實線現(xiàn)象設(shè)置了line-dasharray: [4, 2]但線條依然實線顯示。完整原因分析Mesh 層面有兩種可能。第一種是線條太短。Mapbox 的 dasharray 在短線上會因為 line-width 與比例關(guān)系導(dǎo)致虛線變化不明顯如果一條線只有幾個像素長虛線自然看不出效果。建議先拉長測試線排除數(shù)據(jù)長度因素。第二種原因是line-dasharray 與某些屬性不兼容。具體來說line-cap設(shè)置為round時虛線段的端點會繪制成圓頭如果 dasharray 數(shù)組的值較小圓頭和圓頭連在一起視覺上就會趨向于一條連續(xù)的粗線。另外line-gap-width與 dasharray 同時使用時虛線中的空隙區(qū)域表現(xiàn)會受 gap-width 影響出現(xiàn)實線段看起來被劈開、虛線間距消失的錯覺。排查方式先把 line-cap 改成 buttline-gap-width 改成 0看虛線是否恢復(fù)。如果恢復(fù)了就是這兩個屬性對 dasharray 的干擾。有一個隱藏很深的要求虛線渲染需要圖層是line類型且沒有開啟line-border之類的附加繪制某些舊版本 GL JS 在部分 GPU 驅(qū)動下對 dasharray 支持不完善會出現(xiàn)虛線渲染成實線或渲染成雪花點。遇到這種情況要么升級版本要么把 dasharray 轉(zhuǎn)成數(shù)據(jù)預(yù)處理——在 GeoJSON 層面生成多個線段配合實線-空白交替繪制不過這個方案復(fù)雜而且維護(hù)成本高非必要不建議做。5.3 坑三線寬隨縮放比例不對放大后鋸齒嚴(yán)重現(xiàn)象zoom 級別變大時線條沒有同步變粗且邊緣出現(xiàn)明顯鋸齒。原因分析地圖瓦片在放大時會進(jìn)行插值縮放矢量數(shù)據(jù)的線條如果 line-width 沒有跟隨 zoom 變化就會出現(xiàn)縮放像素色塊導(dǎo)致的鋸齒。鋸齒感最直接的解決辦法是把line-width用 interpolate 表達(dá)式綁定 zoom讓線寬隨 zoom 平滑增加。paint: { line-width: [ interpolate, [linear], [zoom], 5, 1, 10, 3, 15, 8 ] }錨點zoom 值和線寬對應(yīng)值不是隨便填的需要結(jié)合實際地圖場景調(diào)試。比如展示城市道路時zoom 5全國視野線寬 1px 比較合適zoom 10城市級3pxzoom 15街道級8px。這個沒有數(shù)學(xué)公式基本靠經(jīng)驗和視覺效果調(diào)。鋸齒還有一個來源是超長 LineString 在 WebGL 中被切割成多段繪制每段邊緣的抗鋸齒計算是獨(dú)立的導(dǎo)致接縫處出現(xiàn)拼接縫。這種情況可以通過減小單條 LineString 的長度拆分 feature來緩解或者用 GeoJSON 的tolerance字段在數(shù)據(jù)源端做幾何簡化。5.4 坑四Token 相關(guān)的 401 或樣式加載失敗雖然前面說了 token 獲取但每次都要強(qiáng)調(diào)地圖不顯示且 Console 里報Unauthorized或403第一個要查的就是 token 是否正確、是否超出配額。我在調(diào)試時經(jīng)常遇到一種情況有人把 Mapbox GL JS 的 CDN 地址復(fù)制錯了加載的是老版本 v1而 v1 和 v2 在 token 處理上存在差異。如果發(fā)現(xiàn)樣式一直掛在style.load事件不觸發(fā)檢查一下 script 引入的版本號和官網(wǎng)要求是否一致現(xiàn)在官方推薦直接用 v3 版本的 CDN 或 npm 包。還有一點如果你在本地開發(fā)用的是file://協(xié)議打開 HTML某些瀏覽器對跨域讀取本地 GeoJSON 文件有限制也會導(dǎo)致 source 加載失敗。開發(fā)階段建議用http-server、vite dev這類本地服務(wù)跑別直接雙擊 html 文件。6. 進(jìn)階優(yōu)化與性能注意樣式不只是能顯示還要考慮性能尤其數(shù)據(jù)量上來之后。這一節(jié)不展開講所有性能優(yōu)化只講和線圖層直接相關(guān)的幾個點。6.1 大量線要素的性能隱患如果一次加載上萬條線比如全國的河流網(wǎng)、道路網(wǎng)每條線都有復(fù)雜的 LineString直接塞進(jìn) GeoJSON source 會讓地圖明顯卡頓。Mapbox 的矢量渲染效率已經(jīng)很高但過度復(fù)雜的幾何體仍然會在縮放時觸發(fā)大量 CPU/GPU 計算。常用策略是數(shù)據(jù)簡化simplify。發(fā)布前用工具降低坐標(biāo)點密度保留幾何大輪廓即可。在 Mapbox 層面還能調(diào)整line-width的最小值、關(guān)閉line-blur之類耗性能的效果這些在小數(shù)據(jù)量時感覺不到大數(shù)據(jù)量時非常明顯。另外line-dasharray本身也會帶來額外的 GPU 紋理計算所以虛線圖層只加在必要的場景。如果整個地圖有幾百個虛線圖層幀率下降會很明顯。6.2 用 setData 更新數(shù)據(jù)與用 setStyle 的取舍動態(tài)更新線數(shù)據(jù)時可以直接操作 source 的setDatamap.getSource(route-data).setData(newGeoJSON);這個操作比整個setStyle輕量得多因為它只更新數(shù)據(jù)層不會重新加載底圖樣式和字體。但是有個注意事項setData后 source 上的promoteId、feature-state 等配置不會丟但已設(shè)置的 feature-state 會因數(shù)據(jù)更新而失效所以高亮狀態(tài)要在更新數(shù)據(jù)后重新設(shè)置。如果換了 token 或者想整體換底圖風(fēng)格再考慮setStyle。6.3 與高德/Leaflet 線條樣式的差異是理解 Mapbox 的關(guān)鍵用過 Leaflet 或高德 JS API 的話你可能習(xí)慣直接給 polyline 設(shè)置color、weight、opacity。Mapbox 的思路不太一樣它把樣式按屬性拆得非常細(xì)并且允許每個屬性用表達(dá)式驅(qū)動。好處是復(fù)雜樣式的表達(dá)能力非常強(qiáng)壞處是初學(xué)階段需要多花點時間理解屬性體系。我自己的體會是一旦你習(xí)慣了 layout/paint 分離、表達(dá)式驅(qū)動、feature-state 這套模式再回去用 Leaflet 會覺得表達(dá)能力受限。Mapbox 的線樣式本質(zhì)上是聲明式的渲染管線你描述什么樣 Conditions 下畫成什么樣剩下的交給渲染引擎這和傳統(tǒng)命令式繪圖有本質(zhì)區(qū)別。7. 實用技巧與個人經(jīng)驗補(bǔ)充在收尾之前再分享幾個零散但非常實用的技巧都是我在實際項目中驗證過、覺得值得寫下來的。7.1 線條圖層的分層命名習(xí)慣圖層一多命名混亂是災(zāi)難。我自己的習(xí)慣是{業(yè)務(wù)}_{類型}_{用途}比如road_line_main、road_line_outline、metro_line_track。這樣在代碼里查找和維護(hù)都方便也方便其他同事接手。同一個 source 的多層樣式之間用_main、_outline、_shadow這種后綴區(qū)分。7.2 在線的樣式調(diào)試工具M(jìn)apbox 官方提供的Mapbox Studio里可以可視化編輯樣式但它的樣式編輯器對表達(dá)式支持有限復(fù)雜的表達(dá)式仍然建議在代碼里維護(hù)。我更常用的調(diào)試方式是瀏覽器里開著開發(fā)者工具在 Console 里快速執(zhí)行map.setPaintProperty(...)反復(fù)調(diào)參顏色可以先用十六進(jìn)制調(diào)到滿意再固化到代碼里。這個實時調(diào)參的流程比改代碼刷新頁面高效太多。7.3 巧用 opacity 疊加實現(xiàn)霓虹發(fā)光效果線條發(fā)光的實現(xiàn)不復(fù)雜一個線寬較大、透明度較低的圖層作為光暈層疊在上面再畫一條線寬較小、高亮顏色的主圖層兩者共用同一 source。光暈層用line-blur適當(dāng)模糊不用單獨(dú)做漸變就能達(dá)到不錯的視覺效果。// 光暈層 map.addLayer({ id: route-glow, type: line, source: route-data, paint: { line-color: #ff6b6b, line-width: 12, line-opacity: 0.3, line-blur: 4 } }); // 主圖層 map.addLayer({ id: route-main, type: line, source: route-data, paint: { line-color: #ff2d2d, line-width: 3 } });注意圖層順序光暈層先 add主圖層后 add這樣主圖層壓在光暈層上方。如果順序反了主圖層的顏色會蓋住光暈效果。7.4 千萬別忽略 line-width 與 line-blur 的配合調(diào)line-blur時容易踩一個隱含邏輯blur 的值是像素但它是基于線寬繪制的紋理上做的。如果線寬只有 2pxblur 設(shè)成 20px那這條線會淡到幾乎看不見。我的經(jīng)驗是blur 的值不要超過 line-width 的 2 倍范圍否則調(diào)試時你會懷疑是不是透明度出了問題。最后再說一個個人體會。Mapbox 的線條樣式表看起來只是幾十個屬性但真正用好它考驗的是你對數(shù)據(jù)與渲染分離這一模型的理解。很多人在入門時急著去記 API 名字我卻建議先把 GeoJSON 結(jié)構(gòu)和屬性表達(dá)式搞明白數(shù)據(jù)里有什么字段、每條線代表什么含義、希望視覺上如何區(qū)分這些想清楚之后paint 屬性寫法水到渠成。如果遇到文檔里沒說透的細(xì)節(jié)比如某個屬性和另一個屬性打架、某個效果在不同縮放級別表現(xiàn)不一致別怕多試。拿一條簡單的測試線把可能的組合都調(diào)一遍比翻半天文檔更高效。你現(xiàn)在手上有項目的話挑一段真實路線數(shù)據(jù)把這篇文章里的配置依次鋪上去很快就能摸清 Mapbox 線條樣式的脾氣。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲国产一区二区入口| 看看日B真人视频| 蜜桃精品视频一区二区三区| 色狠狠 - 百度| 性色avv| 久久国产精品视频| 国产精品国产自产高清AV | 亚洲无套久久嗯嗯| 色吧91| 欧美少妇第一页| 人妻少妇久久中文字幕一区二区 麻豆 | 67194国产| 天天超级碰碰碰| 人人贴人人摸| 国产精品夜夜夜| 97色色婷婷| 久久欧洲| 国产视频第2页| 亚洲精品久久久久毛片A片拉屎 | 欧美色图片| 男人兔费天堂| 热热色91| 欧美激色| 国产肏屁眼视频| 黑人操一区二区| 91精品人妻一区二区三区蜜桃| 国产农村妇女精品1区二区| 精品人妻免费观看| 日韩不卡码| 精品久久99| 亚洲天堂精品日韩电影| 超碰538| 99re国产中文字幕| 欧美成人黄网色网站| 精品人妻一区二区三区四区不卡在| 精品久久久久黄少妇| 成人无码电影在线观看网| 老色鬼成人精品视频下载大在线观看| 97九色人妻| 被男人添B超爽视频| 欧美色图 色综合图| 午夜精品久久久久久久| 亚洲限制级| 男人的天堂.com| 黑丝内射一区二区三区| 国产67194| 777奇米影视777四色| 在线a亚洲视频播放在线| 超碰一区二区| 久久久久久波多野吉衣高潮| 国产美女精品| 色综和网| 精品国产91久久久久久一区黄无| 在线可观看的黄色网址| 性爱av网站| 婬女免费一二三区A片| www.av在线观看| 亚洲二区精品在线观看 | 2019天天操天天爽天天拍| 啊啊啊用力在线观看| 色香阁在线| 精久久久91| 激情啪啪视频| 长久操视频| 91天天c| 不卡码视频| 婷婷三区| 97在线观看视频| 国产97综合| 欧美一品道| 亚洲熟妇AV日韩熟妇在线| 99999亚洲| 国产亚洲日韩欧| 国产成人在线观看网址| 亚洲色系另类精品国产| 99热这里是精品| 激情AV| 天天操天天射青青草| 一区二区三区四区久久视1| 亚洲精品天天影视综合网| 国产精品久久久久久久久久久久久久久久 | 日本1区2区不卡视频| 亚洲成人免费中文字幕| 校园春色之综合网| 加勒比综合a∨| 凹凸精品熟女在线观看| 蜜乳Av成人片网站| 天天干夜夜操网| 婷婷四五区| 色 亚洲 91| www.亚洲黄色| 亚洲AV无码久久久国产精品 | 老女人91| 亚洲 暴爽 AV人人爽日日碰| 欧美性爱视频免费一区一A | 1000午夜黄色| 亚洲欧美不卡线| 抽插无码高清一区| 少妇69中文| 中出人妻中文字幕91在线| 最新日本中文字幕| 91在线|亚| 免费视频观看60秒| 中文字幕黄色片| 蜜桃视频一区二区三区| 激情黄色片在线观看| 97免费视频在线观看视频| sss视频华人在线| 2019亚洲男人天堂| 久久久久久人妻| 夜夜综合| 91高潮喷水美女| av资源在线播放天堂| 一道α片欧美| 天天碰操中国年青熟妇| 国产无码精品无码| 青青操在线亚洲视频观看欧美在线| 一区二区视频在看| www.夜夜| 人妻少妇久久中文字幕一区二区 麻豆| 日韩精品在线观看网站| 综合情欲网| 人人天天干干| 男人综合网| 开心五月婷婷| 又大又大又大又粗爽高潮观看| 国产成人无码久久精品| 人人妻人人爽一区二区三区| 国产原创自拍| 亚洲巨爆乳一区二区三区四季网| 黄色高清久久无码依人| 国产乱色国产精品免费视| 白丝少妇一区二区| 亚洲情色中文字幕一区| 97视频播放| 尻女朋友一夜| 欧美日韩一区二区三区四区蜜桃| 91精品国产91久久久久久久久久久久| 天天干天天爽| 久久性爱精品一区| 熟人人妻少妇精品久久| 台欧久久精品视频| 国产精品欧美日韩久久| 久久精品国产97欧美精品亚洲| 亚欧高清在线| 成·人免费午夜在线观看| 强上我不卡卡| 亚洲中文国际强奸字幕| 色综合大香蕉| 麻豆成人av| 婷婷丁香久久| 日本精品无码三级网站| 久9精品| 欧美大香蕉97| 五月天激情网图片| 亚洲一区二区三区中文字幕| 九九热av| 综合av影片| 婷婷五月丁香五月| 亚洲天堂7777| 大香蕉免费3| 天天插天天操天天摸天天射天天看| 啪啪91| 久久久久亚洲熟妇熟女| 熟女少妇一区二区三区| 亚洲综合贴图91| 夜色五月天| 亚洲最大的综合性av| 亚洲激情片| 天天操天天看| 91在线色| 操操AV电影| 日韩人成网站在线播放| 国产精品 久久久精品一牛| 色欧美在线| 天美欧美国产| 欧美爆操91| 日本片日本片祼观看网站在线看中文版网页在线看| 亚洲欧洲自拍图片专区满春格| 伊人在线大香蕉视频久久| 九九热免费国产视频婷婷伊人 | 五月婷婷无码| 色综合网1| 一级岛国大片| 亚洲国产综合图区中文字幕| 亚洲丝袜二区在线| 日韩专区久久久| 青青草啪啪网| 日日干日日操五月天伦理视频| 97国产成人精品免费视频| 五月天婷婷在线看| 性猛交| 九九九不卡| 碰超人人在线一区二区三区| 黄色高清久久无码依人| 加勒比性爱成人在线| 图色综合网| 久久一区无码| 韩国轻伦国内自拍一区| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 激情久久av一区av二区av| 影视综合无码少妇| 国产精品久久久久久久AV大片| 92久久| 一本色道久久综合精品婷婷| 91精品久久久久| 日韩欧美久久婷婷网站| 久久偷偷色综合蜜桃| 神马久久69| 东北女人| 搡老女人老91妇女熟女| 搡老女人老91妇女熟女| 欧美淫乱视频| 美女黄页网站| 2017av无码免费无线播| 国产精品久久久吖| 日韩免费高清大片在线| 日韩不卡在线一区二区| 亚洲精品aa久久伊人| 91精品伊人久久久大香线蕉91| 乱伦3P视频| 日韩激情中文字幕有码| 九九亚洲视频| 日本有码影片下载| 欧美猛交黑寡妇中文字幕| 和协影院中文字幕三区| 天天摸天天操视频| 欧美色涩| 中文字幕精品一区欧美| 乱伦图av| 国产原创自拍| 青青欧洲黑| 久久久久久免费电影| 久久久一二三四区| 78久久| 岛国1区2区3区在线观看| 午夜超爽| 久久久久成人蜜桃精品| 伊人991| 91蜜桃传媒精品久久久一区二区| 性爱视频免费网址| 操逼网免费无码视频| 9 9精品一区二区三区| 青青青国产| 97一区二区三区视频| 日本黄色XXX| 操人妻视频| 国产高清精品一区二区三区毛片| 极品色社| 免费草草草草草视频| 91色欧美| 黄片com.| 欧美 牲| 97欧美日韩| 美国aaaaa一级黄片| 欧美国产日韩清纯唯美| 加勒比伊人综合| 快灬快灬 一下爽蜜桃在线观看 | 亚洲九九爱| 精品人妻一区二区三区四区不卡在| 久久免费99精品久久久久久| 丁香五月大香蕉| 久久爽爽精品| 超碰欧美| 午夜天堂精品久久久久91| 九九热超碰97亚洲最新香蕉| 欧美爱爱97| 欧美极度丰满熟妇hd| 青青草吊丝| 97碰碰色| 日韩999| 乱子伦一区二区三区国产精品| 亚洲天堂2020| 91GD.COM| 综合亚洲网| 99久久久久久久久| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 怡红院一区二区熟女人妻| 夜夜爽妓女| 欧美性爱超碰97| 人妻精品一区二区在线| 97超碰亚洲| 国产精品第一区第一页| www.97在线| 超碰九7免费| 无套内射性感少妇视频| 3P丝袜熟女 色综合| 久久精品国产亚洲AV高级北京| 男女激情中文字幕| 国产亚洲精品激情| 97精品视频免费| 久久只有精品| av午夜玫瑰| 一级黄色性爱裸体视频| 久久色激情一区二区三区| 91青青| 综合久久婷婷| 香蕉99秘 一区精品蜜桃臀| 制服乱伦| 亚洲久9| 99免费在线视频| 超碰97综合在线| 久久性爱视频| 无码动漫av中文字幕| 超碰激情808| 操逼网站网站| 国产天天噜一噜久久久| 色情综合网| 夜夜高潮夜夜爽夜夜爱爱一区| 久久精品性| 欧美激情精品久久久久久| 婷婷色色网| 校园春色亚洲色图| 国产夫妻一区二区| 久久精品国产亚洲AV高级北京| 无码九九九九| 欧美熟爽综合| 2019久久久久久久久福利| 97精品97久久| 精品精品精品| 亚欧毛片基地国产毛片基地| AV色五月天| 99热思思| av在线免费一区二区| 9.1小视频| 欧美综合站| 成人精品久久久午夜福利| 欧美97视频| 久久九九网| 亚欧无码线免费观看视频| 欧美婷婷久久| 国产白领连续中出在线观看| 99久久精品无码一区二区| 伊人性在线视频| 91在线视频免费中出| 乱伦图av| 国产一级内射高清视频| 91碰碰| 91爱综合| 97久久视频| 婷婷在线视频在线观看| 色欧美在线| 欧美72网页| 色综合五月天| 欧美亚洲日本激情在线| 国内精品久久人妻性色av| 久久视频,这里只有精品| 98一区二区精品| 久久精品店| 乱伦熟女专区| 91亚洲高清| 久久久免费视频18| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 婷婷久久大香蕉| 国产精品久久久久久久AV大片| 亚洲 日本 不卡| 国产亚洲精品美女| 熟妇艹鸡八| 大香蕉综合网| 91久久久久久| 日韩不卡av一二三| 久久美女国产| 思思热免费在线视频| 亚洲国产成人综合碰碰三级经典| 91久久国产精品| 97超碰色中文字幕| 二三四区精品| 91成人社区| 成人精品视频一区二区| 天天操av懂色| 国产精品国产自产拍高清AV| 91久热这里只有精品| 在线播放成人网站| 亚洲操人| 色五月婷婷在线| 在线性黄高清免费视频| 久久亚洲精品成人av| 在线岛| 日本性感人妻91| 九九热九九| 亚洲欧洲激情卡通另类文学四射小说网站 | 婷婷五月花| 色婷婷狠狠18禁| 婷婷五月天激情网| 大香蕉黄色一区| 免费看久久久性性| 乱色视频中文字幕| 二色av| 欧美操逼一二三区| 欧美色三级片91| 久久超碰爱| 天天欧美色| 岛国小电影| 久久9亚洲| 九九英色视频| 中文字幕精品久久久久人妻红杏ⅰ| 久久久久亚洲一区女同性恋中文字幕| 麻豆一区二区三区精品| 亚洲精品久久一区二区三区蜜桃臀| 亚洲综合校园春色| 日日日日做夜夜夜夜做无码97| 亚洲中字慕不卡| 97超碰美女| 91国产操逼视频| 日韩操逼性鲍| 日本高清_区二区三区 | 欧美高清在线| 青青在线视频日韩欧美| 国产精品麻豆免费视频| 国产美女mm131爽爽爽爽| 亚洲欧洲国产综合av| 色婷五月天| 肥臀熟女福利视频一区二区| 99只有精品| 日日97| 亚洲成人激情小说视频| 最新中文字幕精品在线| 国产成人网址| 欧美色66| 久久αⅴ| 在线观看精品国产免费| 肥臀熟女福利视频一区二区| 亚洲亚洲亚洲天堂天堂| 国产精品久久| 东京热男人的天堂精品| 久久乐| 操一区| 国产精品97视频| 熟妇xxxxx性春色| 全球成人中文在线| 91在线限制级| 欧美日韩精品久久久久久久久东北老熟妇| 国内毛片无遮挡国产| 欧美亚洲日本激情在线| 人妻无码后入| 偷拍盗拍亚洲色图图片| 中文字幕成人理论在线| 99re8免费高清在线| 91操熟女视频| 日韩乱伦影音先锋| 动漫片子网站3黄| AV天堂因数| 欧美大香蕉同搞| 91大神电影天堂| 综合亚洲欧美| 五月丁香社区婷婷日韩欧美精品影院 | 操人妻逼91| 91精品91久久久中77777| 再深点灬舒服灬太大了添视频| 久久久久成人蜜桃精品| 另类图片五月天| 中文精品一区二去| 最新亚洲风情电影| 国产性爱强奸乱伦大全| 性欧美另类高清| 天堂亚洲欧美| 色情综合网| 91日韩网站| 日本肉体xxxx裸交| 久久久精| www欧美性爱| 99re6在线视频精品免费完整版安卓版| 亚洲av国产av综合av卡| 亚洲欧美色综合| 亚洲精品97| 极品五月天噜噜| 91精品人妻一区二区三区蜜臀| 亚洲熟女av日韩熟女| 欧美在线中M| 欧美另类精品xxxx| 久久动漫精品视频这里只有精品| 一区二区精品日韩欧美在线观看 | 2024年最新色情网站在线观看 | 91欧美综合| 99热思思| 五月丁香黄色网| 国产乱婷婷精品二区三区| 夜夜欢天天干| 久久人妻四季| 无遮挡一级毛片视频免费的| 成人一区二区三区四区| 妺妺跟我一起洗澡没忍住| 91熟女视频网| 98色网| 日韩免费中文字幕视频| 免费人人搞97| 91精品无码人妻系列| 亚洲性刺激| 玖玖视频在线资源一区二区三区| 久久久97| 超碰98综合网| 99re视频在线观看这里只有精品| 久久男人天堂| 久噜噜| 99久久综合网| 九九九久久久| 色偷综合| 蜜桃色色网站视频三区| 亚洲无码成人精品| 99蜜月精品久久| 日韩精品99999| 欧美日韩另类在线播放| 国产嫩草精品A88AV| 欧美 亚洲 制服 精品| 人人 操人人 操人人| 日韩色图 一区二区| 五月丁香啪啪啪| 乱抡国产91| 亚洲操操操无码| 99热综合在线| 久操大香蕉手机视频在线看| 91老女人| 久久久96精品| 精品人妻一区二区乱码一区二区| 久久超碰爱| 日日夜夜精品| 久久久久99精品成人片蜜臀| 伊人久久亚洲中文字幕不卡| 午夜超爽| 日韩激情视频| 夜夜爽妓女| 欧美碰碰综合色| 国产一级舔足在线观看| 久久九操在线观看| 亚州成人a∨| 97人人干人人操| 亚洲一区操| 在线看污网站| 丰满丝袜少妇AV| 欧美少妇第一页| 欧美九9 9 9| 三级网色| 成人av影院在线观看| 精品黄色电影| 精品国产99999| 日韩图区| 欧美日韩一干二干| 啊啊啊啊啊啊啊国| 色欧美天天| 天天色综合天天操| 中国一区二区亚洲人妻| 人人艹亚洲| 91社区伊人| 久久久蜜桃臀无码视频| 狠狠入| 亚洲s色图| 性生活无遮挡纯毛片在线看| 国产60区。| 夫妻四区五区六区| Av色五月| 日韩精品三区四区| 亚洲欧洲小说图片视频 | 中文日本免费高清| 熟妇xxxxx性春色| 成人国产视频在线观看| 97爱| 国产精品视频内谢女人| 欧美色狠| 一区AV| 亚洲一区中文精品| 国产兽交视频在线播放| 色综合一本| 韩国三级一线观看久| 国产精品白领在线观看| 亚洲黄色视频在线观看视频| 蜜臀AV秘一区翔田千里| 日韩性爱视频在线免费观看| 欧美性爱日韩性爱| 国产一级作爱毛片| 久久久97| 一本久道久久综合狠狠爱| 日韩精品99999| 99999精品视频| 日韩人妻无码精品系列| av线电影| 国产日韩美女小穴视频网站不卡| 91情色在线| 久久久精品网站| 亚洲 无码 偷拍| 久久精品国产AV一区二区三区| 噜噜噜在线视频| 丰满人妻大屁一区二区| 91无码中出人妻视频| 淫色网综合| 国产第二页| 伊人国产AV| 欧美91精品国产自产| 国产精品久久天天干| 特级毛片特黄久久免费看| 簧片免费看视频| 黑操B| 欧美视频激情久久久久久| 韩国毛片一区二区三区| 欧美综合网在线| 在线无码网站| 成人资源中文字幕在线观看天天| 青春草A| 成人无码欧美一级A片狼牙直播| 秋霞怕怕片| 看日韩操逼| 操九九九九九九| 免费超碰97久久| 久久久久久久久999| 一本精品日本在线视频精品| 久久久婷婷| 午夜福利在线视频1000| 风韵犹存大大大大香蕉| 九九综合久久中文字幕| 青青草中文-久久青草精品一区二区三 | 五月天开心网| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 超碰 国产熟女精品一区| 精品91| 亚洲AV永久无码一区仙野| 亚洲精品欧美专业| 亚洲Av诱惑| 国产大学生口爆吞精合集| 白嫩嫩一区| 成人日本片久久久蜜桃| 亚洲另类小说卡通动漫| 欧美专区在线| 亚洲资源一区| 自慰白浆在线观看| 久热久操| AV在线性爱| 高清不卡国产| 欧美日韩1234| 天天插天天干| 加勒比99999| AV无码久久久精品| 999 久久久| 激情黄色片在线观看| 欧美综合站| 亚洲色图欧美色18直播在线| 蜜乳AV一区二区三区四| 中国小夫妻勾搭露脸淫荡对白 | 干b在线性社区| 立川理惠被中出无码| 激情综合五月婷婷| 欧美在线亚洲| AV九九| 狠狠入| 午夜免费视频1000| 亚洲欧美碰碰| 欧美综合站| 亚州综合色| 97人妻色| 欧美色www亚洲国产阿娇要播| 中文字幕一区av| 精品国产乱子伦一区二区三区,精品一| 久久久国产成人一区二区三区在线| 91 国产丝袜在线播放-百度| 综合久久六月久久婷婷| 色悠久久久av| 欧美亚洲中文字幕| 99热这里都是精品| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 中文字幕激情小说| 激情五月婷婷| 亚洲无码com| 另类av天堂| 午夜一区二区三区国产| q2午夜理论片夜色av| 国产女生在线| 中文字幕三四五区| 97蜜桃综合| 国内毛片无遮挡国产| 五十路熟女工口| 激情综合二| 黄页网站成人免费| 97精品国产97久久久| www久久国产精品| 亚洲熟女乱综合一区二区三区| 日本五十路熟女一区二区| 九九久精品| 97超碰国产精品| 74成人在线| 成人精品水蜜桃久久久久久久| 欧美国产日韩高清在线| 少妇被c 黄 免费观看| 精品网站99999| 综合色啪| 无码高清少妇久久| www.acm成人黄色毛片| 亚洲天堂,男人| 亚洲欧洲综合av在线| 一二区在线观看视频| 亚洲18禁| 国产精品免费视频人成| 白丝一区| 热久久无毒不卡| 99热这里只有精| 人人摸人人添人人操| 成人国产二区三区在线,男女精品。| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 无码高清少妇久久| julia国产在线| caopeng97人妻| 99热网站| 一区二区三区四区免费视频| 久热一区二区| nuu12国产麻豆精品| 日韩AV中文字幕电影| 亚洲 欧美 手机在线观看| 久久人妻| 易易A毛视频| 久久99草| 欧美日日夜夜| 欧美精品第3页| 国岛片视频| 欧美不卡在线一区二区| 99re视频在线播放青草| 国产偷人妻精品一区二区在线| 天天影视综合网欧美精品| 黄色小视频日本txt| 精品人成视频在线观看| 大香久久| 久久久久久人体| 97超碰色中文字幕| 国产精品不卡一区二区三区| 中美日韩毛片| 欧美综合97www| 色五月综合| 91干熟女| 91呆哥人妻| α√在线| 日逼国产| 99在线无码精品秘 入口黑人| 中文字幕日韩专区精品系列| 人妻色偷色噜| 在线不欧美| 午夜传煤十二区精品| 欧美日日人人天天| 台湾佬中文娱乐网久久久久久久久久com| 夜夜騷av、一區二區| 后入内射蜜桃臀| 五月天春色激情网| 午夜久久一区二区无码中出| 爱射综合| 欧亚乱色熟一区二区三四区| 久久久久久性爱片| 手机不卡视频不卡在线一二三区| 性爱动态120秒| 天天日日舔舔| 超碰激情808| 伊人成人情色综合| 亚洲欧洲日产国产综合网| 99青青草国产视频| 亚洲色资源| 久久骚| 日本二区不卡| 91熟女网| a片久久久久久久久久久久| 欧美福利视频啊啊啊啊| 飘花国产午夜精品不卡| 久久无码成人| 97国产成人精品免费视频| 久久XX| 日韩在线视频1234| 欧美日韩少妇色情| 久久视频,这里只有精品 | www.av家庭乱伦| 日韩性爱1级片视频| www.99中文字幕| 秋霞一级视频在线观看免费| www.久久| 国产久久一区二区三区野外在线| 欧洲精品人妻| 天天干人妻视频| 中文久久| 亚洲古典另类欧美在线| 国产毛片精品一区二区色欲黄A片| 国产欧美日韩女同性恋ww喷水精品 | 午夜精品久久久久久久男人的天堂 | 国产乱伦性爱区| 图片区小说区| 久久9久9久99久9久9| s片在线观看| 0755午夜福利视频| 人人操人人干xxx| 国产精点久久久成人| 97超碰碰碰| 欧美色综合图片| 欧美色涩| 国产小u女在线观看| 嗯嗯啊啊操死我| 亚洲情色 无码专区| 国产老太乱伦一区| 精品在线观看视频在线| 宅男91视频在线播放| 夜夜夜夜爽| 国产亚洲99久久精品熟| 日本 欧美 国产一区| 67194无码不卡| 久久精品国产97欧美精品亚洲| 青青操网| 五月婷婷六月色| 成人黄页| 一级AV性爱| 青青网三级视频| 天天性射网| 91午夜无码| 黄页18禁| 亚洲人妻精品一区二区| 97国产高清视频在线观看| 青青色综合| 天天日天天干少妇日| 日本一区二区三区四区免费观看| 中文字幕丝袜美腿| 九久精品| 99热婷婷| 免费男人的天堂| 亚洲AV无线| 美女主播色欲91抠b在线播放| 中国少妇啪啪视频| 国产高清无码一区二区三区四区皇冠| 亚洲欧美色综合| 97免费视频在线| 在线看免费无码AV天堂的| 5252色欧美在线| 欧州91高潮| 日本韩欧美在线播放a| 日日黄色三级网站| 欧美乱伦专区| 亚洲欧洲综合| 韩日无码在线观看| 黄久在线| 久久久国产亚洲精品系列| 九九九九九九成人| 精品国产乱码| 久久久久七视频| 国产美女在线精品免费看| 麻豆亚洲Av成人无码一区精品| 91欧美经典| 91久久精品蜜臀| 97AV在线观看| 久久一区无码| 国产乱伦搜索结果91P| 熟女啪啪视频| 精品人妻一区二区三区四区石在线| 中文字幕一区 二区三四五 区日 日骚| 熟女熟妇一区二区三四区| 99色在线| 一区二区三| 日本三级小说中文字幕| a片久久久久久久久久久久| 日韩中文字幕熟妇人妻| 1人人看人人摸人人操| 日韩av色图综合| 在线A日本| 91 国产丝袜在线播放-百度| 操逼逼无码| 色色九区| 欧中日成人免费影视| AV天堂国产| 日本黄页视频在线观看| 一块操欧美| 亚洲色图欧美色图另类图片| 综合 青草 伊久久 影院 综合 | 人人搡人人肉久久精品| 日韩一区二区高清在线观看的| 色97综合中文字幕| 思思热在线视频精品| 久久久久久精| 久久人爽| 伊人婷婷五月天| 亚洲日韩电影| 超碰97最新人妻| 欧美日韩中文亚洲v在线综合| 91制服丝袜中文字幕| 日韩欧亚太美不卡| 久久精品国产亚洲AV嘿嘿| 91N综合网| 人人摸人人干| 日韩欧美亚洲一区二区三区影院| 91色插| 国产精品网站免费| 丁香五月自拍| 69XX一中文字幕人妻91| 日日日日做夜夜夜夜做无码97| 黑操B| 成人a级高清视频在线观看| 亚洲欧美在线综合| 狠狠色综合网| 看免费的黄片| 91久热| 中文字幕精品人妻丝袜| 夜嗨影院| 欧美乱伦专区| 亚洲AV色图一区| 九九热免费国产视频婷婷伊人| 思思热在线cao| 91宗合网| 丁香六月啪| 天天躁日日躁AAAAXXXX国产| 久久精品区| 色偷综合| 91欧美长吊| 激情六月婷婷| 久久AV无码网址| 国产成人 综合亚洲 天堂| 美女高潮国产高清| 加勒比av网| 少妇69中文| 另类综合另类| 国产成人网站在线观看| 可以在线观看的黄色网址| 精品人妻一区二区三区四区不卡在| 中文字幕精品亚洲熟女| 欧美熟妇操操视频| 欧美三级一级| 久久一二三四五六七八九区区区| 日韩欧美亚洲一区二区三区影院| 无码操逼视频一下| 五月丁香激情四射| 日日夜夜骑| 亚洲精品九九九九九九| 欧洲大香蕉| 一二三四视频在线社区中文字幕| 97欧美精品综合| 91精品成人www| 99久热| 国产精品青草综合久久| 1769一区二区| 久久久久久久久成人av解说| 午夜视频好爽啊| 久久久久久久伊人精品| 一区二区三区免费视频入口| 97色碰| 欧美亚洲情色| 极品另类| 另类图片欧美激情综合| 亚洲欧美天堂| 国产午夜精品在线观看| 青草综合| 中国熟女老妇仑乱一区二区三区| 97操| 欧美性爱日韩高清| www.亚洲黄色| 日韩欧美大力操| 26uuu欧美日韩| 亚洲精品xxx| www国产天美久久久| 欧美日本国产日韩激情视频| 午夜久久无码1000合集| 亚洲精品乱码久久久久久蜜桃麻豆| 国产美女mm131爽爽爽爽| 最近2019中文字幕国语免费版| 啪一啪免费视频| 自拍偷拍2025在线观看 | 欧美色综合网| 女人综合网| 国产一区二区成人av在线播放| 欧美激情视频在线一区| 99热99在线播放激情| 人人做人人妻人人夜视频| 久综合网| 久久久久中出| 欧美成人色| 97草草| 91天堂| 18禁在线视频| 国产精品宅男免费| 91狠狠综合久久久| 91在线免费观看处女| 蜜桃精品视频一区| 97中文字幕一区| 91狠狠综合| 2019久久久久久久久福利| 无遮挡猛进视频免费无限观看| 青青草操逼逼视频| 青青操少妇| 91热热色| ,成人免费啪啪视频| 国产麻豆福利av在线播放| 亚洲欧美日韩夜夜| 九九热精品在线| 欧美精品偷拍| 91色伦| 亚洲欧美人妻| 亚洲精品影视老司机| 亚洲成人在线播放| 另类亚洲图色| 玖玖大干人妻| 成人线上超碰| α√在线| 99国内精品| 一区二区三区机械有限公司| 欧美日韩99精品麻豆传媒| 无码人妻精品一区二区三区九九| 啊啊啊好舒服视频| 日日操丁香五月天| 一牛影视久久久一区二区三区| 99爱爱| 可免费观看的av毛片中日美韩| 日韩精品 视频一区二区| 天美av在线观看| 超碰97人人乐| 久久久久久一日韩字幕无码| 五月激情综合网| 欧美激情黑人| 国产传媒午夜理伦精品| 青青草日韩无码| 日韩97视频| 人人玩人人添人人澡免费| 婷婷月色| 999热日韩精品| 亚洲欧美综合区自拍另类| 久久熟女人| 欧美成97爱| 亚洲国产麻豆一区二区三区| 91艹逼精品| 免费国产视频| 中文字幕在线观看视频www| 日日摸日日碰| 777琪琪午夜免费A片| 校园春色之综合网| 亚洲中文丝袜美腿诱惑字幕| 影音先锋乱| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 欧美丰满熟妇XXXX性ppX人交| 十八禁黄色成人网站观看| 女人天堂av在线播放| 五月婷婷啪啪| 好湿好紧视频| 激情干在线| 亚洲日本天堂| 久久精品中文字幕无码l| 国产精品久久久久久久久久久久久久久久久久| 久久区| 99热亚洲| 中国少妇啪啪视频| 久久久久久久久久8888| 97视频在线免费| 久久东京国产精品视频| 少妇精品久久久八区九区| av网页一区二区三区| 欧美亚洲se91| 黄片com.| 日韩专区久久久| 日本日皮视频逼| 亚洲做性| 六月婷婷色综合| 中文字幕一区二区无码成人| 丁香五月天啪啪| 国产97在线 | 亚洲| 欧美乱色| 欧美日韩大香蕉| 国产精品网站www| 26UUU欧美激情一区二区| 91久久国产综合精品| 色婷婷视频| 午夜精品久久久99热蜜桃的功能特点| 久久久精品无码亚免费| 日本五区不卡| 99在线精品视频| yiqicaoav| 亚洲欧美国产中文字幕| 温婉少妇玩3p| 97视频一区| 亚洲少妇色| 伊人热综合| 日韩欧亚中文在线| 伊人女女资源在线观看| 97超级久久| 中日无幕一二三四区| 丰满人妻一区二区三区性色| 久日综合网| 中文字幕一区日韩精| 亚洲激情综合另类| 欧美色图亚洲特色| 太久视频| 亚洲激情视频| 91丝袜激情在线| 无遮挡h肉动漫在线观看| 免费视频一二三区| 日日夜夜草草草| 久热这里| 一区二区首页| 精品一区二区人妖| 国产精品久久| 亚洲污污网站| 亚洲天堂人妻一区二区| 在线无码视频| 91美| 久久久禁| 精品久久久久,69国产成人精| 欧美日韩国产三级黄色| 男人天堂新在线| 国产av热热色| 日韩三级一区| 国产AV毛片| 2020久久免费视频| 超碰综合97在线| 尤物av网站| 伊人久久婷婷| 91在线超高颜值国产| 熟女人妻一区二区三区免费看| 欧美精品三区| 香一区二区三区| 综合激情婷婷| 国产探花精品在线| 亚洲天天综合| 97爱爱官网| 日日日大屁股骚女人精品| 久jiu久神马影院| 青娱乐日韩无码| 亚洲 日本 国产 综合| 精品黄色电影| 欧美亚洲韩国视频十五区 | 中文字幕奈奈美被公侵犯| 天天综合网网欲色| 97国产精品在线观看| 区二区亚洲婷| 99自拍B亚洲 | 男人精品天堂一区| 国产精品国产自产拍高清AV| 亚洲色综合| 最新日产中文在线麻豆| 日本黄大片在线观看视频| 91中文字幕制服丝袜免费视频| 色呦色呦色精品| 97公开久久| 欧美欲色| 亚洲中文字幕有码视频一区二区三区| 婷婷丁香久久| 大屁股xxxxx| 久久久久九九九| 视频黄色国产一级| 国产强奸乱伦xd| 一本色道综合久久欧美| 综合久久97| …亚洲黄色厕厕女女在线播…| 欧美激情亚洲| 中文三一区| 啊啊啊慢点| 理论久久婷婷网8| 国产农村妇女毛片精品久久| 中文字幕av片| 久久久久久中文| 国产精品69久久久久孕妇欧美 | 91精品女厕偷拍视频| 亚洲春色欧美激情自拍| 欧美成年人性爱视频免费观看| 亚洲 暴爽 AV人人爽日日碰| 97欧美精品| 牛牛AV人人夜夜澡人人爽| 久久久久久久强迫| 呦呦影院| 国产欧美精选激情视频| 性爱综合一区二区| 婷婷五月天色网| 全国男人天堂网| 日本在线伊人啪啪| 日躁天天爽爽| av影片在线观看不卡| 色欲天天综合久久久无码网中文| 国产精品不卡高清在线观看| 三级日韩一区二区三区| 国产中文字幕在线点播|