99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

高德地圖瓦片離線化實(shí)踐:從URL規(guī)則到內(nèi)網(wǎng)部署全解析

高德地圖瓦片離線化實(shí)踐:從URL規(guī)則到內(nèi)網(wǎng)部署全解析 去年有個(gè)項(xiàng)目讓我頭疼了整整一周。客戶的內(nèi)網(wǎng)系統(tǒng)里要嵌入一張城市地圖頁(yè)面早就做好地圖容器也畫(huà)出來(lái)了但打開(kāi)之后整張底圖全是灰的連一條道路都看不見(jiàn)。我當(dāng)時(shí)第一反應(yīng)是JS代碼報(bào)錯(cuò)查了半小時(shí)也沒(méi)查出問(wèn)題。后來(lái)打開(kāi)開(kāi)發(fā)者工具才發(fā)現(xiàn)瀏覽器一直在向高德的瓦片服務(wù)器發(fā)請(qǐng)求全部超時(shí)失敗。原因很直白內(nèi)網(wǎng)訪問(wèn)不了外網(wǎng)而地圖底圖本身就是一張張動(dòng)態(tài)請(qǐng)求下來(lái)的瓦片圖片。這次我不打算只貼一段下載代碼而是把“高德地圖瓦片”從URL規(guī)則、下載器編寫(xiě)、內(nèi)網(wǎng)服務(wù)搭建到前端接入這條鏈路完整拆開(kāi)講。讀完之后你至少能解決三件事搞懂高德瓦片URL的規(guī)律寫(xiě)一個(gè)能斷點(diǎn)續(xù)傳的瓦片下載器把瓦片用Nginx托管起來(lái)并讓Leaflet或高德JS API正常加載。適合正在做內(nèi)網(wǎng)GIS、數(shù)據(jù)大屏、離線地圖項(xiàng)目的開(kāi)發(fā)者參考。1. 為什么內(nèi)網(wǎng)里地圖總是一片空白瓦片加載機(jī)制與隔離網(wǎng)絡(luò)困境1.1 地圖瓦片到底是什么地圖上那套連續(xù)光滑的畫(huà)面其實(shí)被切成了固定大小的小方塊每個(gè)小方塊就是一張瓦片最常見(jiàn)的規(guī)格是256x256像素高清屏有512x512。所有瓦片按縮放級(jí)別組織級(jí)別越高地圖范圍越精細(xì)瓦片數(shù)量越多同一個(gè)級(jí)別下瓦片按x列號(hào)和y行號(hào)排列從左上角開(kāi)始計(jì)數(shù)。我經(jīng)常用一個(gè)拼圖比喻來(lái)解釋縮放級(jí)別是拼圖的精細(xì)度x和y是拼圖塊的行列坐標(biāo)z是整套拼圖的頁(yè)碼。瀏覽器里的高德地圖本質(zhì)上就是根據(jù)當(dāng)前視野范圍、中心點(diǎn)和縮放級(jí)別動(dòng)態(tài)計(jì)算需要哪幾頁(yè)拼圖的哪些塊然后向服務(wù)器把對(duì)應(yīng)圖片一張張取回來(lái)拼到屏幕對(duì)應(yīng)的位置上。沒(méi)有這些瓦片圖片底圖就什么都畫(huà)不出來(lái)。1.2 高德JS API加載底圖的完整鏈路高德JS API在頁(yè)面上初始化Map對(duì)象之后會(huì)自動(dòng)維護(hù)視圖狀態(tài)包括中心點(diǎn)經(jīng)緯度、縮放級(jí)別、DOM容器尺寸等。只要視圖有變化不管是拖動(dòng)、縮放還是窗口尺寸變化它都會(huì)基于瓦片編號(hào)算法算出當(dāng)前視野覆蓋的瓦片集合生成一組圖片URL把圖片元素插入到地圖容器里。這些URL指向的是高德的瓦片服務(wù)地址結(jié)構(gòu)大致如下https://webrd0{1-4}.is.autonavi.com/appmaptile?x{x}y{y}z{z}langzh_cnsize1scale1style8瀏覽器向這個(gè)地址發(fā)起HTTP請(qǐng)求高德服務(wù)器返回對(duì)應(yīng)的PNG圖片。整個(gè)過(guò)程對(duì)前端使用者是透明的你只看到地圖“畫(huà)”出來(lái)了背后其實(shí)是幾十張圖片在快速加載和拼接。只要中間任何一條鏈路走不通底圖就會(huì)空白。內(nèi)網(wǎng)環(huán)境最典型的問(wèn)題就是域名解析不到外網(wǎng)或者外網(wǎng)請(qǐng)求直接被防火墻攔截。1.3 內(nèi)網(wǎng)環(huán)境下的三種典型需求我實(shí)際接觸過(guò)的內(nèi)網(wǎng)地圖需求大概分三類出發(fā)點(diǎn)各不相同但最終都落到同一個(gè)技術(shù)動(dòng)作上業(yè)務(wù)系統(tǒng)地圖展示內(nèi)部管理平臺(tái)需要在地圖上疊加資產(chǎn)點(diǎn)位、人員軌跡、區(qū)域邊界底圖必須放在內(nèi)網(wǎng)這是最基礎(chǔ)的要求。數(shù)據(jù)可視化大屏大屏項(xiàng)目普遍追求高德風(fēng)格的街道圖或衛(wèi)星圖效果但又不能在演示現(xiàn)場(chǎng)賭外網(wǎng)帶寬瓦片本地化成了唯一靠譜方案。應(yīng)急離線地圖一些現(xiàn)場(chǎng)環(huán)境網(wǎng)絡(luò)狀態(tài)不穩(wěn)定提前把目標(biāo)區(qū)域瓦片下載到本地現(xiàn)場(chǎng)直接用靜態(tài)服務(wù)撐住整個(gè)演示方便又省心。這三類需求落到技術(shù)動(dòng)作上完全一致先把瓦片下載到內(nèi)網(wǎng)再讓前端從內(nèi)網(wǎng)加載。下面我從瓦片URL規(guī)則開(kāi)始拆解。2. 拆解高德瓦片URL規(guī)律z/x/y與坐標(biāo)系里藏著的門(mén)道2.1 從瀏覽器開(kāi)發(fā)者工具抓一個(gè)瓦片請(qǐng)求寫(xiě)下載器之前先得把瓦片URL的規(guī)律摸清楚。方法很簡(jiǎn)單打開(kāi)一個(gè)使用高德地圖的網(wǎng)頁(yè)按F12切到Network面板過(guò)濾Image類型請(qǐng)求拖動(dòng)一下地圖就能看到瓦片請(qǐng)求像瀑布一樣刷下來(lái)。一個(gè)典型的高德街道圖瓦片請(qǐng)求是這樣的https://webrd01.is.autonavi.com/appmaptile?langzh_cnsize1scale1style8x227y95z8其中webrd01是瓦片服務(wù)器編號(hào)高德做了負(fù)載均衡webrd02、webrd03、webrd04也能取到同樣的瓦片。z是縮放級(jí)別x和y是瓦片行列號(hào)style8表示街道圖scale1是普通分辨率返回256x256scale2返回512x512也就是高清瓦片。把這些參數(shù)拆清楚之后下載器的URL模板就可以直接構(gòu)造了。2.2 經(jīng)緯度與瓦片行列號(hào)的換算公式瓦片行列號(hào)不是隨機(jī)生成的它基于Web Mercator投影EPSG:3857做了全球劃分。把世界地圖看成一個(gè)矩形平面最左上角是(0,0)向右x增大向下y增大。在縮放級(jí)別z下全世界橫向和縱向都分成2的z次方份所以第z級(jí)總共有2^z乘以2^z張瓦片。已知經(jīng)緯度轉(zhuǎn)瓦片行列號(hào)的公式用Python可以寫(xiě)成這樣import math def lonlat_to_tile(lon, lat, z): n 2 ** z x int((lon 180.0) / 360.0 * n) rad math.radians(lat) y int((1.0 - math.asinh(math.tan(rad)) / math.pi) / 2.0 * n) return x, y這里asinh(tan(rad))和常用的ln(tan(rad) 1/cos(rad))是等價(jià)的只是寫(xiě)起來(lái)更簡(jiǎn)潔。Web Mercator在縱坐標(biāo)上用了非線性變換所以緯度越高相鄰?fù)咂淼膶?shí)際面積越小這也解釋了為什么高緯度地區(qū)在地圖上看起來(lái)被明顯放大了。2.3 GCJ-02坐標(biāo)系差異為什么用WGS-84坐標(biāo)算出來(lái)的瓦片會(huì)偏移高德瓦片最容易踩的隱性坑就是坐標(biāo)系。高德的坐標(biāo)體系是GCJ-02俗稱火星坐標(biāo)而GPS設(shè)備、第三方矢量數(shù)據(jù)常用的卻是WGS-84。瓦片行列號(hào)本身基于投影平面計(jì)算但在高德體系內(nèi)這個(gè)平面坐標(biāo)對(duì)應(yīng)的經(jīng)緯度基準(zhǔn)是GCJ-02不是WGS-84。如果你拿著一批GPS采集的WGS-84經(jīng)緯度坐標(biāo)直接套前面的公式算x/y去請(qǐng)求高德瓦片邊界框整體會(huì)偏移幾百米甚至上千米。結(jié)果就是你想下載A區(qū)域的瓦片實(shí)際拿到的卻是A區(qū)域偏移后的范圍。解決辦法是先做WGS-84到GCJ-02的坐標(biāo)轉(zhuǎn)換再參與行列號(hào)計(jì)算。如果項(xiàng)目里的坐標(biāo)本來(lái)就來(lái)自高德JS API或者高德地圖拾取器那它們已經(jīng)在GCJ-02體系內(nèi)直接用即可。坐標(biāo)轉(zhuǎn)換不建議自己造輪子用現(xiàn)成的coordtransform庫(kù)或者找一份成熟的七參數(shù)轉(zhuǎn)換實(shí)現(xiàn)都可以。這里不展開(kāi)但它確實(shí)是整個(gè)鏈路里最容易出問(wèn)題的一環(huán)后面第5章我會(huì)再提排查思路。2.4 瓦片規(guī)格普通屏與高清屏的差異高德瓦片接口的scale參數(shù)直接影響顯示效果和存儲(chǔ)成本。scale1返回256x256單張大約10-20KBscale2返回512x512單張大約30-60KB。同樣的范圍高清瓦片占用的存儲(chǔ)空間通常翻三到四倍。做普通PC端Web系統(tǒng)scale1完全夠用。做數(shù)字大屏或者需要截圖輸出的場(chǎng)景我建議直接用scale2否則畫(huà)面放大后全是鋸齒。關(guān)鍵點(diǎn)是下載時(shí)用了什么scale前端URL模板就要保持一致混用會(huì)導(dǎo)致瓦片物理尺寸不一致拼接出來(lái)非常難看。這個(gè)我在第5章的踩坑記錄里還會(huì)再講。3. 寫(xiě)一個(gè)瓦片下載器從邊界框計(jì)算到并發(fā)斷點(diǎn)續(xù)傳3.1 規(guī)劃下載范圍用經(jīng)緯度邊界框確定瓦片數(shù)量下載瓦片的第一步不是寫(xiě)循環(huán)而是先明確下載范圍。范圍一般用經(jīng)緯度矩形邊界框描述也就是最小經(jīng)度、最小緯度、最大經(jīng)度、最大緯度。縮放級(jí)別范圍取決于業(yè)務(wù)城區(qū)大屏項(xiàng)目通常15到17級(jí)就夠18級(jí)以上瓦片數(shù)量會(huì)暴漲下載時(shí)間和磁盤(pán)占用都不劃算。我習(xí)慣先估算瓦片數(shù)量再動(dòng)手。以北京城區(qū)大約1.5度經(jīng)度跨度、1.2度緯度跨度為例在17級(jí)下的數(shù)量大概是這樣的縮放級(jí)別2^z示例城市橫向瓦片數(shù)示例城市縱向瓦片數(shù)總瓦片數(shù)約15327681372182.9萬(wàn)166553627343711.9萬(wàn)1713107254687447.7萬(wàn)1826214410921748190.9萬(wàn)47萬(wàn)張256x256的PNG按平均15KB算大約7GB這個(gè)量級(jí)在單機(jī)磁盤(pán)上可以接受。但如果盲目把18級(jí)也加進(jìn)來(lái)量級(jí)立刻變成一百多萬(wàn)張存儲(chǔ)和時(shí)間成本都高一個(gè)量級(jí)。先算賬再動(dòng)手能省掉很多溝通成本。3.2 用邊界框換算出瓦片行列號(hào)集合有了邊界框就可以按級(jí)別生成行列號(hào)列表。這里有個(gè)新手容易搞反的地方Web Mercator中緯度越大的地方y(tǒng)值越小所以北邊界的y數(shù)比南邊界小。生成列表時(shí)需要對(duì)y方向取最小到最大不然范圍會(huì)亂。def tile_range(min_lon, min_lat, max_lon, max_lat, z): x0, y0 lonlat_to_tile(min_lon, max_lat, z) # 左上角 x1, y1 lonlat_to_tile(max_lon, min_lat, z) # 右下角 for x in range(x0, x1 1): for y in range(min(y0, y1), max(y0, y1) 1): yield x, y這個(gè)生成器給出某一級(jí)別下的行列號(hào)集合。再套一層級(jí)別循環(huán)就能得到完整任務(wù)列表。任務(wù)列表可以提前序列化到本地留檔方便后面斷點(diǎn)續(xù)傳時(shí)做對(duì)比也方便你分級(jí)別分批次執(zhí)行下載。3.3 編寫(xiě)下載函數(shù)單線程先跑通把坑都踩清楚我習(xí)慣先用單線程把一條鏈路跑通。這個(gè)版本不用考慮效率和優(yōu)雅重點(diǎn)是確定目錄結(jié)構(gòu)、請(qǐng)求頭、文件命名這些基礎(chǔ)約定。import os import requests def download_tile(z, x, y, url_template, save_root): save_dir os.path.join(save_root, str(z), str(x)) os.makedirs(save_dir, exist_okTrue) save_path os.path.join(save_dir, f{y}.png) url url_template.format(zz, xx, yy) resp requests.get(url, timeout10, headers{User-Agent: Mozilla/5.0}) if resp.status_code 200: with open(save_path, wb) as f: f.write(resp.content)目錄結(jié)構(gòu)是save_root/{z}/{x}/{y}.png這個(gè)結(jié)構(gòu)正好對(duì)應(yīng)Nginx靜態(tài)服務(wù)的URL路徑前端模板直接拼{z}/{x}/{y}.png就能用。單線程跑通的好處是能提前發(fā)現(xiàn)偶發(fā)超時(shí)、403、空文件這類問(wèn)題這些問(wèn)題在并發(fā)場(chǎng)景里會(huì)被無(wú)限放大后面排查起來(lái)更痛苦。3.4 并發(fā)下載與失敗重試單線程跑太慢幾萬(wàn)張瓦片能跑到地老天荒。我一般用ThreadPoolExecutor開(kāi)8個(gè)線程再配合重試機(jī)制和403/429退避邏輯。高德瓦片服務(wù)器對(duì)單IP的請(qǐng)求頻率有限制8個(gè)線程實(shí)測(cè)比較安全再往上就容易觸發(fā)風(fēng)控。import time import requests from concurrent.futures import ThreadPoolExecutor, as_completed def download_tile_safe(z, x, y, url_template, save_root, retries3): save_dir os.path.join(save_root, str(z), str(x)) os.makedirs(save_dir, exist_okTrue) save_path os.path.join(save_dir, f{y}.png) if os.path.exists(save_path) and os.path.getsize(save_path) 0: return True url url_template.format(zz, xx, yy) for attempt in range(retries): try: resp requests.get(url, timeout10, headers{ User-Agent: Mozilla/5.0, Referer: https://www.amap.com/ }) if resp.status_code 200: with open(save_path, wb) as f: f.write(resp.content) return True elif resp.status_code in (403, 429): time.sleep(2 * (attempt 1)) else: time.sleep(0.5) except Exception: time.sleep(1) return False def run_download(tasks, url_template, save_root, workers8): with ThreadPoolExecutor(max_workersworkers) as pool: futures [pool.submit(download_tile_safe, z, x, y, url_template, save_root) for z, x, y in tasks] for future in as_completed(futures): future.result()有個(gè)細(xì)節(jié)務(wù)必注意Referer頭一定要帶。瓦片服務(wù)器會(huì)校驗(yàn)請(qǐng)求來(lái)源沒(méi)有Referer的請(qǐng)求很容易直接403。退避間隔從2秒開(kāi)始成倍增長(zhǎng)如果重試三次都失敗就把這條任務(wù)記到日志文件里最后統(tǒng)一補(bǔ)下。3.5 斷點(diǎn)續(xù)傳中斷了不用從頭再來(lái)幾十萬(wàn)張瓦片的下載過(guò)程中網(wǎng)絡(luò)抖動(dòng)、服務(wù)器斷開(kāi)都可能導(dǎo)致任務(wù)中斷。斷點(diǎn)續(xù)傳的實(shí)現(xiàn)非常簡(jiǎn)單下載前判斷目標(biāo)文件是否存在存在且大小大于0就直接跳過(guò)。上面代碼里第一段判斷就是在做這件事。這個(gè)設(shè)計(jì)帶來(lái)的好處是任務(wù)中斷后重新跑一遍腳本已完成的瓦片全部跳過(guò)只補(bǔ)剩余部分。我還會(huì)把失敗任務(wù)單獨(dú)記錄全部跑完后統(tǒng)一用同樣的腳本重跑一次基本能把失敗率壓到極低。實(shí)測(cè)下來(lái)50萬(wàn)張瓦片的一次性下載成功率大概在99.5%左右剩下0.5%靠續(xù)傳補(bǔ)上整個(gè)流程很可靠。4. 內(nèi)網(wǎng)瓦片服務(wù)搭建Nginx托管與前端接入4.1 目錄結(jié)構(gòu)讓文件路徑與URL一一對(duì)應(yīng)下載完的瓦片目錄天然就是靜態(tài)文件結(jié)構(gòu)/data/map_tiles/ ├── 8/ │ ├── 226/ │ │ ├── 94.png │ │ └── 95.png │ └── 227/ │ ├── 94.png │ └── 95.png ├── 9/ │ └── ... └── 17/ └── ...HTTP請(qǐng)求/tiles/8/227/95.png可以直接映射到/data/map_tiles/8/227/95.png。只要Nginx配置里把URL前綴和磁盤(pán)路徑對(duì)應(yīng)好不需要任何路由改寫(xiě)前端模板地址就能直接命中物理文件。這個(gè)目錄結(jié)構(gòu)在下載器里就定好了所以下載和托管之間不會(huì)出現(xiàn)路徑斷層的麻煩。4.2 Nginx靜態(tài)托管配置我習(xí)慣單獨(dú)開(kāi)一個(gè)server塊專門(mén)服務(wù)瓦片不跟業(yè)務(wù)接口混在一起避免日志刷屏和路徑?jīng)_突。server { listen 8080; server_name _; location /tiles/ { alias /data/map_tiles/; autoindex off; expires 30d; add_header Cache-Control public, max-age2592000; try_files $uri 404; } }這里要特別注意alias和root的區(qū)別用了alias /data/map_tiles/URL里的/tiles/前綴會(huì)被去掉剩下的路徑直接對(duì)應(yīng)到/data/map_tiles/下。如果誤寫(xiě)成root /data/map_tiles/Nginx會(huì)去找/data/map_tiles/tiles/8/227/95.png路徑多了一層tiles立刻404。expires 30d讓瀏覽器把瓦片緩存一個(gè)月內(nèi)網(wǎng)環(huán)境下第二次拖動(dòng)地圖會(huì)特別流暢。4.3 Leaflet接入本地瓦片內(nèi)網(wǎng)項(xiàng)目如果不需要高德JS API的復(fù)雜交互能力用Leaflet加載本地瓦片是最省事的路線。L.tileLayer原生支持URL模板{z}、{x}、{y}三個(gè)變量會(huì)自動(dòng)替換成請(qǐng)求時(shí)的行列號(hào)。var map L.map(map, { center: [39.909, 116.397], zoom: 15, minZoom: 8, maxZoom: 17 }); L.tileLayer(http://192.168.1.100:8080/tiles/{z}/{x}/{y}.png, { maxZoom: 17, minZoom: 8, attribution: Map data ? AutoNavi }).addTo(map);這里有個(gè)坐標(biāo)基準(zhǔn)問(wèn)題高德瓦片是GCJ-02體系Leaflet本身并不關(guān)心坐標(biāo)系它只是把瓦片按位置貼到地圖上。中心點(diǎn)必須用GCJ-02坐標(biāo)才能和瓦片對(duì)齊如果直接用GPS采集的WGS-84坐標(biāo)地圖中心位置會(huì)出現(xiàn)偏移。在這個(gè)底圖上疊加WGS-84的GPS軌跡或POI數(shù)據(jù)同樣要先把數(shù)據(jù)坐標(biāo)轉(zhuǎn)成GCJ-02再疊加否則會(huì)整面偏移。4.4 高德JS API的內(nèi)網(wǎng)加載策略有些項(xiàng)目必須保留高德JS API的交互體驗(yàn)比如縮放控件、標(biāo)記動(dòng)畫(huà)、軌跡播放能力。這種情況下可以把高德JS API的JavaScript文件下載到內(nèi)網(wǎng)用內(nèi)網(wǎng)地址引用再通過(guò)自定義瓦片圖層把底圖URL指到內(nèi)網(wǎng)。高德JS API支持自定義AMap.TileLayer核心是重寫(xiě)getTileUrl方法var localLayer new AMap.TileLayer({ getTileUrl: function(x, y, z) { return http://192.168.1.100:8080/tiles/ z / x / y .png; }, zIndex: 100 }); var map new AMap.Map(container, { center: [116.397, 39.909], zoom: 15, layers: [localLayer] });這樣頁(yè)面看起來(lái)還是高德地圖底圖卻完全走內(nèi)網(wǎng)。需要提醒的是高德JS API內(nèi)網(wǎng)化要注意安全密鑰和域名白名單的配置這塊取決于項(xiàng)目申請(qǐng)API Key時(shí)的授權(quán)范圍。另外JS API里依賴在線服務(wù)的功能比如實(shí)時(shí)路況、搜索建議、路線規(guī)劃在內(nèi)網(wǎng)環(huán)境依然不可用需要用自建服務(wù)或者離線算法兜底。5. 實(shí)際項(xiàng)目中的坑偏移、白邊、限流與范圍規(guī)劃5.1 瓦片對(duì)不上號(hào)坐標(biāo)偏移的排查思路瓦片下載完成后最常遇到的癥狀是底圖出來(lái)了但業(yè)務(wù)數(shù)據(jù)整體偏了幾百米。遇到這種情況先別急著調(diào)前端按順序排查三件事第一確認(rèn)業(yè)務(wù)數(shù)據(jù)到底是什么坐標(biāo)系第二確認(rèn)瓦片行列號(hào)是基于什么坐標(biāo)系計(jì)算的第三確認(rèn)前端中心點(diǎn)和疊加數(shù)據(jù)用的坐標(biāo)基準(zhǔn)是否一致。高德體系內(nèi)默認(rèn)是GCJ-02GPS手持機(jī)、第三方矢量數(shù)據(jù)默認(rèn)是WGS-84。兩者在經(jīng)緯度數(shù)值上相差一點(diǎn)投影到地圖上就是幾百米的平移。我的解決習(xí)慣是項(xiàng)目一開(kāi)始就定好規(guī)范所有入庫(kù)坐標(biāo)統(tǒng)一轉(zhuǎn)成GCJ-02所有瓦片行列號(hào)用GCJ-02計(jì)算前端中心點(diǎn)直接用GCJ-02。統(tǒng)一基準(zhǔn)之后這個(gè)坑基本就不會(huì)再出現(xiàn)了。5.2 瓦片拼接處出現(xiàn)白線內(nèi)網(wǎng)加載本地瓦片后偶爾會(huì)在瓦片拼接縫看到一條細(xì)細(xì)的白線尤其在地圖縮放動(dòng)畫(huà)過(guò)程中最明顯。這不是瓦片沒(méi)下全而是瀏覽器在縮放或位移時(shí)對(duì)瓦片做了采樣相鄰?fù)咂g露出背景色看起來(lái)就是一條半透明的縫隙。處理辦法有幾個(gè)層次最簡(jiǎn)單的是把地圖容器背景色設(shè)成和地圖主色調(diào)接近的顏色比如淺灰或淺綠白線視覺(jué)上就不明顯了。如果追求更干凈的拼接可以給瓦片圖層加一點(diǎn)負(fù)邊距讓相鄰?fù)咂晕⒅丿B。另一個(gè)容易被忽略的原因是沒(méi)有統(tǒng)一scale參數(shù)混用256和512的瓦片會(huì)導(dǎo)致物理尺寸不一致拼接處自然對(duì)不齊。下載參數(shù)保持一致是底線。5.3 并發(fā)過(guò)高被限流403與429的處理下載腳本跑了一陣突然成片失敗日志里全是403或429說(shuō)明瓦片服務(wù)器已經(jīng)識(shí)別到請(qǐng)求頻率異常臨時(shí)把請(qǐng)求拒掉了。處理手段有三層一是把并發(fā)線程數(shù)降下來(lái)單IP 8個(gè)線程是相對(duì)安全的值超過(guò)10就容易被盯上二是給每個(gè)請(qǐng)求帶Referer: https://www.amap.com/模擬瀏覽器來(lái)源三是做好重試退避遇到403/429先等幾秒再重試不要反復(fù)快速請(qǐng)求。還有個(gè)實(shí)戰(zhàn)小技巧任務(wù)順序不要完全固定可以在任務(wù)列表里隨機(jī)打亂一下。太規(guī)律的并發(fā)模式容易被識(shí)別成批量程序稍微加點(diǎn)隨機(jī)性被限流的概率會(huì)低很多。我早期做下載器時(shí)沒(méi)注意這點(diǎn)連續(xù)兩次被限流后來(lái)加了個(gè)隨機(jī)shuffle再?zèng)]遇到過(guò)。5.4 瓦片數(shù)量估算與范圍規(guī)劃下載前先算瓦片數(shù)量這個(gè)習(xí)慣能救你很多次。我遇到過(guò)一個(gè)需求方張口就要全市所有級(jí)別的瓦片一算數(shù)據(jù)量幾十TB顯然不現(xiàn)實(shí)。后來(lái)把方案改成分級(jí)分區(qū)域下載主城區(qū)15到17級(jí)遠(yuǎn)郊區(qū)16到17級(jí)核心重點(diǎn)區(qū)域單獨(dú)補(bǔ)18級(jí)。這樣既滿足業(yè)務(wù)要求磁盤(pán)和帶寬也可控。判斷經(jīng)驗(yàn)一句話局域網(wǎng)內(nèi)網(wǎng)靜態(tài)服務(wù)加載瓦片非??炱款i從來(lái)不是帶寬而是瓦片準(zhǔn)備得夠不夠全、夠不夠細(xì)。寧可把高一級(jí)的瓦片范圍縮小也不要為了省事只下低級(jí)別等業(yè)務(wù)真的需要縮放時(shí)再補(bǔ)返工成本更高。5.5 合規(guī)邊界與瓦片更新從一個(gè)方案評(píng)審細(xì)節(jié)說(shuō)起最后說(shuō)一個(gè)原則性問(wèn)題。瓦片數(shù)據(jù)是高德投入成本生產(chǎn)的地圖數(shù)據(jù)受版權(quán)和服務(wù)條款保護(hù)。下載和內(nèi)網(wǎng)本地化使用適用于企業(yè)內(nèi)部系統(tǒng)、隔離網(wǎng)絡(luò)下的技術(shù)方案、已經(jīng)獲得授權(quán)的項(xiàng)目等場(chǎng)景。不要把下載下來(lái)的瓦片二次分發(fā)、轉(zhuǎn)售或者包裝成商業(yè)服務(wù)對(duì)外提供。動(dòng)手之前先確認(rèn)你的使用場(chǎng)景在授權(quán)范圍內(nèi)技術(shù)手段本身是中性的但使用邊界要自己把握清楚。我的個(gè)人習(xí)慣是在方案評(píng)審階段就把“瓦片來(lái)源、授權(quán)情況、更新機(jī)制”寫(xiě)進(jìn)技術(shù)文檔讓所有參與方心里有數(shù)。內(nèi)網(wǎng)地圖的核心問(wèn)題從來(lái)不只是怎么下載而是你有沒(méi)有一套可維護(hù)的瓦片更新和校驗(yàn)流程。先把本次范圍下好跑通鏈路后續(xù)需要增量更新時(shí)只要把邊界框和級(jí)別參數(shù)改一改重新跑一遍下載器就行。整套流程越簡(jiǎn)單越不容易出錯(cuò)。這套方法在后來(lái)幾個(gè)內(nèi)網(wǎng)大屏項(xiàng)目里反復(fù)用每次都是最省心的那一塊。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色综合女人99| 色播丁香婷婷五月激情| 久久大香蕉| 五月色综合| 激情综合网五月| 99精品在线播放| 色伊人91在线视频| 这里只有精品免费| 伊人色综合影院视频| 思思99热| 五月婷婷性| 99啊精典免费视频| 人妻免费网站| 狠狠色综合网| 五月丁香六月婷婷开心网| 五月色色色| 六月色丁香婷婷| 97人人操人人| 大香蕉久久婷婷精品综合| 97人凄人人操人人爽| 曰韩少妇内射免费播放| 色五月婷婷中文字幕| 亚洲激情高潮| 欧美操我| 久久丁香综合精品综合| 91超级碰| 激情中文在线| 色欲久久久久| 99热成人在线| 五月丁香怕怕综合| 99爱视频精品| 丁香五月婷婷六月婷婷| 大香蕉九操| AV在线资源| 婷婷五月天资源| 热的国产99热| 日本久久婷| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 婷婷六月爽| 色婷婷88| 丁香五月 激情文学| 久久婷色| 99热思思| 日本不卡一区二区三区| 亚洲精品又粗又大又爽A片| 日本五月天激情| 丁香五月激情六月综合| 久久婷婷热| 97色婷婷| 婷婷五月丁香基| 九月丁香| 丁香五月久久| 天堂无码人妻精品AV一区| 激情小说五月天| 婷婷五月天天爽| 色欲AV导航| 五月天综合区| 五月丁香狠狠| 香蕉伊人综合| 99热在线精品播放| 啪啪激情综合| 五月天激情综合首页| 99精品在线观看视频| 亚洲av午夜精品一区二区| 婷婷五月综合色小姐小说| 久久曰曰| 亚洲成人AV电影在线| 久99视频在线观看| 少妇搡BBBB搡BBB搡毛茸茸 | 五月丁香激情婷婷| 婷婷六月丁香五月| 在线看的免费网站| 丁香五月影| 香蕉久久国产AV一区二区| 九九五月天| 人妻AV在线观看| 狠狠插日日干撸| 成人av在线网站| 久久99免费视频网站| 久婷狼色诱惑在线| 激情婷婷久久| 成人色色综合| 天天操天爱综合| 99免费视频在线观看爱| 色婷久九| 婷婷亚洲综合| 97久久婷婷色| 禁片二区| 日韩美女在线视频19| 色五月大| 丁香六月婷婷缴情欧美| 2025天天爽天天摸| 五月婷婷在线综合| 婷婷综合网| 色五月综合在线| 亚洲精品又粗又大又爽A片| 激情婷婷丁香| 五月婷婷9| 99啪啪网| 五月丁香啪啪啪免费看| 五月在线| 九九热在线视频| 欧美色婷婷| 99性爱视频| 欧美69久成人做爰视频| 婷婷激情人妻| 影音先锋 婷婷| 婷婷六月天激情| www.婷婷| 97色婷婷| 五月天停停日日| 日本综合99| 五月丁香最新| 五月综合亚洲色| 五月婷婷丁香伦理网| 激情二色月| 婷婷五月天精品| 色了色综合| 无码99| 欧美精品999| 五月婷婷视频| 欧美性猛交99久久久久99按摩| 91热久88| 久久99最新| 久久人妻www| 五月天色色网站| 久久伊人五月天| 日狠狠| 超碰资源在线| 99久久婷婷国产综合精品电影| 国产精品国产| 婷婷五月天BBw| 丁香色色网| 婷婷.com| 狼友视频在线观看18| 小视频一区 | 91精产一区三区免费观看| 久久久婷| 六月婷婷网站| 激情久久久| 狠狠操狠狠狠| 激情五月婷婷综合网| 欧美五月丁香| 色色综合五月| www.热99热| 婷婷久久丁香五月| 五月丁香久久激情综合| 99re26视频| av狠狠操| 丁香五月婷婷狠狠色| 中文AV网站| 国外亚洲成AV人片在线观看| 天天爽天天爽天天爽天天爽天天爽| 丁香桃色网| 五月婷婷综合在线亚洲视频| 全国最新疫情| 亚洲亚洲人成综合网络| 亚洲综合丁香婷婷六月天| www色五月| 丁香婷婷五月人体| 欧美激情综合五月色丁香| 大地9中文在线观看免费高清| 熟女激情网| 色女伊人| 五月婷婷丁香网| 五月天激情网页| 99精品无码| 精品99在线看| 色偷偷狠狠| www.色婷婷| 色婷婷AAA| 色无码| 天天爱天天操| 激情五月伊人婷婷| 久久婷婷影院| 五月六月激情婷婷| 婷婷五月花| 91精品婷婷国产综合久久| 中文久久婷婷| 97碰超级人人看| 婷婷五月天狠狠色| 色欲色天天香综合| 深爱激情五月天| 亚洲无aV在线中文字幕| 99精品自拍视频| 91九色熟女| www久久艹| 69色婷婷| 99久久婷婷| 97人人草| 黄色视频网站在线播放| 思思热精品在线观看| 影音先锋男人av资源站| 天天狠狠六月婷丁香影院| 一区二区你懂的| 六月丁香社区| 激情AV在线| 99激情网| 五月人人丁香婷婷五月人人丁香| 大香蕉五月婷婷丁香| 婷婷激情五月综合在线视频| WWW.久久99| 日本狠狠干| 九九综合九| 五月天婷a| 五月丁香亭亭激情操逼网| 丁香社区婷婷五月| 另类 在线| 97精品欧美91久久久久久久| 天天色天天爱天天舔| 亚洲乱码日产精品BD| 伊人丁香五月| 伊人在线视频| 婷婷王月天影院| 色婷亚洲| 91se在线视频| 欧美激情五月天| 激情五月天激情网| 另类图片五月激情| 日日夜夜婷婷| 色色五月婷婷丁香| 伊人久久大香网| 五月天激情久久| 亚洲色情免费网| 成人在线观看精品| 涩涩涩五月天| 五月色婷婷亚洲| 久久性爱网| 天天日综合| 色综合色五月| 3p九色在线| 色婷婷五月综合| 开心五月婷婷五月| se.久久视频在线观看| 91男同| 欧洲激情五月天婷婷| 最近免费中文字幕大全高清大全1| 伊人五月天婷婷| www久久艹| 国产超碰在线| 五月婷婷久久激情 | 91免费看片| 激情九月婷婷| 激情第四色| 日本精品。999| 亚洲成Av人片乱码色第1集| se99视频| 五月精品| 草做免费在线观看| 色婷婷婷综合五月天| 婷婷人妻激情| 九八Av| 婷婷五月天综合久久| 婷婷五月天成人动漫 | 精品思思久久| 99九九中文字幕视频| 五月天婷婷成人网| 日本欧美成人片AAAA| 婷婷五月天av网| 丁香五月婷婷亚洲激情四射| 色香欲综合| 婷婷五月天无码| 79亚洲精品少妇| 久久一级片| 99ER热精品视频| 五月婷婷综合丁香视频| 五月丁香欧美在线| 激情五月丁香激情综合网| 亚洲色夜| 久久婷婷的综合色丁香五月| 99热传媒| 激情五月黄色| 免费无码毛片一区二区A片| 天天射影院| 一区二区三区四区无码| 天天干,噜噜色,狠狠色| 色综久久AV| 天天日日| 人妻激情久久| 婷婷丁香红五月91C| 深爱激情综合网| 六月丁香成人网| www久久五月com| w婷婷五月婷婷w| 激情五月天情色| 人妻丰满精品一区二区A片| 99亚洲天堂| 婷婷五月天综合AV| 国产无人区大片| 可以免费看AV网站| 丁香六月婷婷一区二区三区| 五月丁香六月婷婷手机无线| 天天爱天天做天天爽| 欧美噜噜噜草| 无码橾| 91夫妻网站九色| 99热这里有精品| 五月成人网站| 99热免费| 国产XXXX搡XXXXX搡麻豆| 亚州操人在线视频| 九九在线视频| 香蕉97碰碰碰欧美| 北条麻妃伊人 | 婷婷丁香黄色| www.97干视频| 亚洲旡码| 亚洲成人av在线| 99日精品视频| 久久婷婷五月综合| 狠狠色狠狠干| 婷婷五月天性| 另类激情五月天| 人人草人人视| 婷婷色导航| 亚洲国产精品VA在线看黑人| 91九色欧美| 99操无码视频观看| 26uuu最新地址| 欧美性爱五月天| 五月婷婷深深爱| 六月99天天婷婷激情综合| 女同激情久久av久久| 成人电影AV在线观看| 久久超级碰碰| 丁香五月天堂| 99A片| 狠狠狠狠青草| www.91操| 五月天婷婷在线观看精品男人| 伊人六月丁香婷婷| 开心婷婷五月天激情网| 久久东京热婷婷五月| 狠狠操综合| 人妻中文在线| 六月婷婷操逼| 亚洲欧美成人在线| 久久久人人人妻丝丝丝| 99九九热视频| 亚洲人妻av伦理| 成人免费黄色短视频| 97超级免费无码| 91制片厂久久久国产电影| 色婷婷人人| 色婷婷yy久| 91超级碰在线视频| 激情五月综亚网| 五月丁香六月婷婷网站| 丁香九九九九| 丁香情色五月| 久久精品4| 亚洲视频丁香网va| 狠狠99| 99操逼| 亚洲天堂色| 国产老熟妇亲子乱对白| 日本九九热| 九九成人| se99在线| 综合色播| 9色91视频| 天天操五月天| 色天天综合色| 色五月综合在线| 亚洲色无码A片一区二区麻豆| 久久久久五月丁香| 99er这里只有精品| 色播五月婷婷| 无码激情AAAAA片-区区| 人人操99| www.minyis.com【JT】实力收量可预付QQ2101460746 | 好叼操在线观看| 9久操| 激情综合五月激情17| 婷婷免费成人视频| 亚洲综合色色| 94干大香蕉| 婷婷五月激情六月丁香| 色停停香蕉视频| 婷婷五月丁香综合亚洲| 99re思思热在线视频| 五月婷av| 日韩性爱AV| 日本69日人视频| 欧美日本va| 97福利视频| 五月丁香色综合| 激情综合色| 色色色色热| 色噜久| 色噜综| 丁香五月天综合| 久操干| 丁香综合网| www色色com| 情色婷婷五月天| 成人五月天视频播放| 99热亚洲| 99热这里有精品| 色色五月婷婷久久| 六月婷婷激情| 中文字幕性爱视频| 日韩五月丁香| 久草婷婷视频| 日本五月天一页| 少妇性按摩无码中文A片| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 婷婷综合网| 狠狠色五月| 天天色,天天日,天天做| 婷婷伊人久久无码色五月| 热99这里只是精品| 婷婷五月天激情小说| 五月天婷婷激情四射综合| 婷婷久久婷婷色五月| 日韩亚洲视频| AV中文在线| 99热亚洲| 国产在线中文字幕| 丁香五月天色婷婷| 亚洲欧洲色色| 国产日产亚系列精品版优势| 天天操夜夜玩!| 大战熟女丰满人妻AV| 日韩人妻无码一区二区| 亚洲爆乳无码精品AAA片蜜桃| 99色色热| 尤物一区二区| 久久视频这里99| 九月停停| 99九九在线视频| 一月婷婷色色| a网站免费观看| 婷婷五月,偷窥偷拍网| 婷五月天| 九九热中文| 久久激情网| 97热这里只有精品| 丁香六月婷婷激情| 色噜噜狠狠色综合日日| 丁香五月婷婷啪| 热九九精品| 丁香五月婷婷久久综合激情网 | 色色色色五月| 五月丁婷婷| 久久大国产香蕉| 丁香狠狠色婷婷久久无码视频| 日韩成人电影Av| 综合五月丁香六月婷婷| 色色色综合色| 欧美日本黄色| 日韩黄黄| 丁香五月天堂网AV| 99热这里只有精品8| 99热 在线观看| 丁香五月婷婷av影院| 深爱激情网综合| 亚洲另类av| 97人人操人人| 婷婷五月天99| 日本免费91| 婷婷五月天成人网| 噜噜噜噜在线| 六月丁香停| 岛国AV网| 婷婷五月图片小说网| 成人中文字幕在线| 国产成人精品一区二三区熟女在线 | 92久久精品一区二区| 天天干狠狠艹| 欧美日韩成人| 丁香婷婷综合影院| 色99网| 思思re视频在线| 婷婷五月中文字幕| 久久视频在线视频| 久久婷婷五月综合激情国产| 爱射综合| 婷婷五月天久| 超碰精品在线| 婷婷五月天伦理| 人妻视频一区而且二区| 久热这里只有精品6| 99热99ai| 日本大人久久| 五月天com| 99热传媒| AV九九| 开心婷婷五月中文字幕组| 美女网黄| 婷婷五月丁香人妻无码高清| 久久婷婷精品| 超碰a女人的天堂| 秋霞黄色一级久久| 91九九九色在| 五月婷婷丁香| www.婷婷五月天.com| 97综合在线| 婷婷综合五月| 激情综合五月| 色婷婷五月天不卡| 能看的av片| 日本久热| 五月丁香亭亭AV女优| 五月天婷婷综合| 亚洲熟妇无码乱子AV电影| 色婷婷成人在线| OUMEIRIHANCHENGREN| 久久久com| 91成人看片| 天天肏天天爽夜夜爽| 精品久久99| 99人妻碰碰碰久久久久| 婷婷中文字幕| 日韩精品999| 婷婷五月天激情综合深爱激情| 九九日本视频| 欧美六月| 久操福利| 五月天婷婷色色网| 五月婷婷精品视频| 热99视频精品在线| 婷婷五月在线观看| 操一区| 欧美日韩成人在线观看| 五月天播播中文字幕 | 激情九九这里只有精品| 开心亚洲久久开心| 99激情网| www.色五月.com| 丁香五月天天| www91久久| 综合激情站| 亚洲尤物在线| 色五月五月天| 国产一区男女| 婷婷操逼网| 五月丁香999| 婷婷五月激情热播| 玖玖资源部在线播放| 久久婷五月天| 夜夜爽天天| 99热这里只有精品268| 欧美人人操| 婷婷午夜丁香| 日本色婷婷| 久久永久视频| 激情五月婷婷| 99er免费在线观看| 五月综合六月丁| 第四色五月天| 伊人青草成人| 开心婷婷五月天电影院| 丁香六月中文| 丁香社区婷婷五月| 日本VA视频| 免费观看的婷婷五月视频在线| Www.狠狠| 96精品久久久久久久久| 九九热视频精品| 99激情| 丁香激情五月| 久综合4| 97人人操人人拍| 五月丁小婷婷激情四射| 超碰99成人在线| 国产亚洲成AV人片在线| 五月丁香色婷婷色| 丁香六月| 日本一级一片免费视频| 91熟妇大香蕉| 情色五月天网站| 五月丁香六月久久| 久久这里只有国产视频| 特级西西4444www无码| 99啪啪网| www.婷婷| 天综合日日夜综合7799| 婷婷五月花| 七七九九色色| 五月丁香在线看| 免费观看的婷婷五月视频在线| 久久精彩免费视频| 久久五月丁香| 日本97人人| 久久新| 中文资源在线a | 97福利视频| 思思久久99热只有频精品66| yw.av| 六月99天天婷婷激情综合| 色七色九九| 久久思思精品| 精品久久艹| 欧美激情综合| 日本在线观看91| 中文字幕在线播放视频| 色婷婷五月天综合网| 91狠狠色丁香| 国产欧美性成人精品午夜| 日韩成人电泉AV| 久久XX| 色色丁香激情五月| 五月婷在线| 五月婷婷影| 亭亭玉月丁香| aV欲望人妻中文字幕| 97在线综合| 狠狠狠狠狠操| 婷婷色网| 黄色91在线观看| 亚洲激情高潮| 狠狠综合久久| 99玖玖视频| 亚洲第一色色色| 精品乱码久久久久| 欧美顶级少妇做爰HD| 激情五月天的婷婷| 开心色播色五月婷婷| 91色在线/日韩| 丁香五月花影院| 五月色网| 久久丁香综合| 婷婷五月天成人视频| 国产婷婷色五月| 夜夜撸夜夜骑| 这里只有精品视频| 噜噜干日本| 亚洲亚洲永久无码777777| 五月色综合| 色偷偷色婷婷| 99这里只有精品| 99九九热视频免费| 色五月婷婷内射| 欧美内射AA| 97色精品视频| 99色色热| 丁香激情五月| 影音先锋综合网| 亚洲激情网站无码| 婷婷久久丁香五月| www一起操在线观看| 国产精品国产VA片国产| 九九热AV| 婷婷激情综合| 久久HD| 久草五月天| 色狠狠六月| 九九性视频| 夜夜爱伊人| 色婷婷亚洲精品天天综| 另类亚洲电影| 开心五月天激情网站| 久久97久久99久久综合欧美| 天天草天天爱| 99ER热精品视频| 亚洲成人无码网站| 999久久久国产精品| 色婷婷五月天无码视频| 五月天另类小说| 91狼友视频在线观看| sewuyue第四色| 五月丁香久久| 丁香伊人激情| 日本精品人妻无码77777| 婷婷久久亚洲| 中文久久婷婷| 国产综合婷婷| 色婷婷狠狠爱| 亚洲成片在线观看| 激情五月婷黄版| 色欲色香,www,com| www.丁香五月| 超碰精品在线| 五月婷婷另类| 五月天激情视频| 99在线免费视| 婷婷丁香五月天综合激情| 国产精品色色色色| 蒲京久久无码视频| 丁香五月激情图片| 日韩AV无码影片| 久久久五月婷婷| 婷婷五月娱乐在线| 97精品自拍视频| 婷婷五月激情中文字幕| 伊人婷婷大香蕉| 色色色色色色色色综合网| 人妻性操逼中文字幕 国产| 桃色五月天| 熟女乱论网| 亚洲三A| 亚洲女婷婷五月基地综合久久久| 啪啪九九色| 99r这里只有精品在线观看| 丁香天堂夜| 婷婷激情六月综合| 色九九七七| 久久婷婷五月综合啪| 久久WW| 欧美性爱中文字幕| 猫咪伊人久久| 五月丁香综合| 婷婷成人五月天成人文学小说| 九色在线观看91av| 色情成人五月天| 日韩六十路91性交电影| 激情综合网激情五月婷婷| 99热这里只有精品免费| 丁香婷婷色五月| 丁香五月天成人| 99这里有精品视频| 久久6这里只有精品| 91女人18毛片水多国产| 亚洲视频五区| 久人操| 欧美99热| 99热在线观看这里只有精品| 人妻久久婷婷| 精品少妇人妻AV无码专区偷人| 亚洲日日日| 九艹在线| 怡红院AV亚洲一区二区三区H| 亚洲热热视频| 99热成人精品| 亚洲午夜一区二区| 中字幕视频在线永久在线观看免费| 九九爱激情| 日韩色色色色色| 91色色色视频| 99在线精品观看99| 欧美丁香五月夫妻天| 日韩人妻无码一区二区| 第四色大香蕉| 黄色片久久| 草草操操| 激情五月丁香激情综合网| 亚洲激情综| 久久视频婷婷视频| 看久久性爱视频| 精a品a视a频| 婷婷久久五月天中文字幕在线观看| 人妻人人操| 香蕉97碰碰碰欧美| 开心五月深爱五月| 99热国产国产| 五月丁香成年黄色| 天天操天天插| 我去色色网五雨天| 99这里只有免费的精品| 色综合久久88色综合天天99| 欧美激情综合| 碰97久久| 亚洲欧美999| 五月色无码| 久操人妻| www.99日本| 亚洲免费看片| 成人在线日韩欧美| 九九AV在线| 99热97美女| 久久久亚洲精品一区二区三区浴池| 天天天天天天天操| 亚洲激情电影五月天色婷婷丁香一起草 | 成人va视频| 五月天婷婷视频30| 激情校园 亚洲| 色色综合色视频| 欧美日本黄色| 嫩草视频观看| 97超碰在线观看免费| 秋霞AV吧| 日曰躁夜夜躁2026| 疯狂做受XXXX高潮A片动画| 99热.com| 99热这里有精品| 亚洲色情网站| 开心五月婷婷激情网| 亚洲天堂爱爱| Av九九| 久久大香蕉同僚| 538任你爽视频不一样的| 欧美色偷偷大香| 182无码| 啪啪啪综合网| 99热都是精品| 天天影视天天爽天天草| 丁香五月激情澎湃一区| 久色中文| 国产亚洲色婷婷99精品| WWW五月婷婷| 丁香五月1页| 丁香五月天AV在线| 狠狠色婷婷在线| 青青夜夜狠狠夜夜狠狠| 都市激情蜜桃婷婷五月天 | 操操操av| 亚洲丁香五月深爱五月| 日韩av干| 天天舔日日肏夜夜爽| 婷婷之六月丁香| 日韩AC在线免费观看| 91中文狠狠综合| 久久人人添人人爽添人人片αV| 婷婷色五月综合| 99久久超级| 中文字幕在线人妻| 久操乱| 香蕉久久五月| 国产色香蕉精品五夜婷| 日韩AV在线免费| 亚州婷婷五月激情综合| 亚洲啪啪网| 亚洲六月婷婷| 免费国产VA国产免费| 美女婷婷六月色| 久噜久噜| 另类小说色婷婷| 久热成人| 九九综合色| 五月婷婷视频| 99热日本精品| 婷婷丁香宗合888| 久久婷婷视频| 夜夜天天天天天干天天爽| 五月婷婷激清网| 婷婷爱五月天| 夜夜操夜夜操| 4438亚洲欧美| 日本三级网址| 丁香五月天堂网| 五月的婷婷六月丁香| 热热久久99| 丁香五月婷婷视频| 日韩aaa| 婷婷99| 超碰成人黄色网| 婷婷丁香五月天熟女丝袜| 996热re视频精品视频| 九九色热| 成人色站,在线视频,看片-SS1AV| 丁香五月,激情五月,深爱五月| 月婷婷婷婷五月| 夜夜操夜夜操| 久久婷婷青青| 天天操B| 婷婷在线午夜| 色天堂在线| 精品久久9| 操91| 97超碰婷婷五月天| 激情五月婷婷视频一区二区三区| 啪啪黄页网| 婷婷六月综合在线| 婷婷激情六月| 欧美成人精品三区综合A片| 国产三级在线播放| 99在线观看视频免费| 五月丁香六月激情啪| 亚洲精品亚洲人成人网| 日本在线播放97| 五月丁香久久综合| 久久久人妻门| 久久综合五月| 色综合色综合色综合| 婷婷丁香五月天综合AV| 夜丁香综合| 亚洲天堂久久| 五月久久婷婷天堂视频| 丁香五月手机在线| 久久九九激情五月天 | 午夜激情久久| 99色看这里只有精品| 五月婷婷草| 色婷婷六月| 色色五月天婷婷| 天天干夜夜谢| 国产亚洲精品久久久久久久久动漫| 天天操天天国产三级片处女学生妹| 在线观看av网站| 婷婷丁香综合| 色婷婷六月| CAOBIBI| 桔色成人官方网站| 色婷婷丁香五月天| 97婷婷在线| 亚洲久热无码| 最近免费中文字幕大全高清大全1| 91综合色| 国产精品VA在线| 婷婷最新地址| 国产阿姨日皮艹逼内射视频| 激情婷婷丁香五月天| 五月婷综合| 九九久久这里只有精品XB| 狠狠综合久久| 五月久久婷婷天堂视频| 五月丁香啪啪综合| 91久久精品国产91性色TV| 色狠狠999综合网| 欧洲亚洲免费视频9| 中文字幕人妻一区二区| 色九月激情综合网| 五月丁香| 人人玩人人橾| 精品久久艹| 日本熟妇精品99| 欧美日韩成人在线网| 午夜福利8055| 热思思| 人妻有码乱操| 婷婷丁香五月欧美人| 99ER热精品视频| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 久久99久久99www| 亚欧州精品视频| www.9797国产| 色情婷| 五月丁香六月婷婷色日| 欧美久久久久久久久中文字幕| 伊人9999| 人妻有码乱操| 天天爽天天摸| 亚洲人成网站999综合| 婷婷五月天激情综合婷婷五月天激情综合| 开心深爱激情网| 激情小说五月天社区丁香 | 逼逼AV| 俺也去综合| 亚洲九九99精品视频在线播放| 天天爽人人爽| 婷婷色色综合| 色99欧洲色19| 五月天婷婷丁香成人网| α久久| 五月婷婷六月丁香| 亚洲综合无码| www99热| 婷婷久久婷婷色五月| 色999亚洲人成色| 婷婷五月天在线综合导航| 国产成人一区二区三区在线观看| www。五月天。com| 丁香伍月婷电影全集| 五月丁香基地| 新激情综合| A1片久久久| 99操碰| 五月婷婷色色| 五月天激情综合10p| 久久天堂女人| 六月婷婷久久| 欧美性猛交99久久久99| 久久九区| 久久综合爱| 丁香六月啪啪| 久久这里有精品在线观看| 日本nghangse中文字幕| www.色婷婷.com| 亚洲欧美综合7777色婷婷| 久热伊人| 色五狠狠| 成人av播放| 99免费在线视频| SS丁香五月婷婷| 色五月大| 六月婷婷激情| 亚洲综合视频一下| 91丨九色丨老农村| 1区2区视频| 久久66er久久| 一本到不卡高清DVD| 婷婷开心激情五月激情网| 人人操人人爽成人AV| 色噜噜狠狠色综合日日| 日韩精品无码99| 超碰在线99热| 国外亚洲成AV人片在线观看| 欧美VA在线观看| 九九热99免费视频| 中文人妻AV久久人妻18| 天天精品视频免费观看| 超碰久热| 亚洲A片成人无码久久精品青桔| 久久九九视频| 区区久久妻| 亚洲天堂制| 天天干 夜夜爽| 91久久99久久91熟女精品| 色色色网站| 美女五月狠狠| 思思热思在线精品视频| 色久99| 国产熟妇的荡欲午夜视频| 丁香色婷婷五月天| 琪琪理论片| 69精品人妻不卡视频| 婷婷香蕉| 99色| 五月天激情图| www久| 大香蕉伊然在亚洲90| 久久这里只有精品热在99| 丁香色啪综合| 97香蕉碰碰人妻国产欧美| 真实的国产乱XXXX在线91| 五月天久久久| 丁香五月婷婷色情综合| 激情啪啪五月天| 色婷另类| 五月丁香色五月| 人妻激情在线| 丁香五月色激情| 丁香啪啪| 丁香五月婷婷俺也要去| 丁香色五月直播| 日本乱论99| 丁香五月婷婷色综合| www夜夜操| 亚洲综合另类| 深爱激情网综合| 色五月天激情| Www.狠狠| httpwww色com日本| 丁香六月综合激情| 五月丁香婷婷久久| 97色色色视频| 九九热99视频| 天天综合91入口| 久热精品免费视频4| 婷婷午夜| 超碰在线看| www.婷婷,com| 天天草比天天爽| 激情色中文| 色啪影院| 国产免费一区二区三区三州老师F1F1.CC | 色五月综合在线| 在线观看玖玖资源免费观看| 综合五月天亚洲婷婷| 99激情在线| 精品久久婷婷| 丁香婷婷久久综合在线| 综合久久十三| 色婷五月天| 婷婷综合久久| 超碰人人超碰| enecarbon-materials.comWu染请涟系Bao护@wip1688| 激情五月深爱五月| 九九Av| 九九色人| 日韩性视频| 久99视频在线观看| 182TV亚洲| 激情婷婷护士激情| 成AV人片一区二区三区久久| 久热大香蕉| 久热欧美| 天天肏夜夜肏| 91久久久久久久久| 六月丁香久久| 午夜丁香| 亚洲日日操| 五月天播播| 天天拍天天操| 色五月丁香五月| 99热精品在线| 激情噜噜噜| 国产精品五月天婷婷| 深夜A片| 色婷婷久综合久久一本国产AV| 五月宗合激情网| 综合婷婷五月丁香在线观看| 色色网站在线| 天天摸天天透天天舔| 日本婷婷| 99热e| 婷婷99狠狠| 色综合久久综合中文综合网| 激情五月五月婷婷| 另类视在线| 超碰成人在线观看| 99爱爱| 五月婷婷六月激情| 另类小说五月天| 激情操逼婷婷| 日本天堂网站99| 在线视频激情网站| -91九色大屁股| 97亚洲色 torrent magnet| 这里只有精品免费在线视频| -91九色大屁股| 久久激情五月| 婷婷五月天va| 亚洲小视频| 99色综合| 欧美性丁香色色五月天干干| 最近中文字幕大全免费版在线 | 五日激情综合| 丁香成人色情五月天| 激情噜噜噜| 五月激情啪啪| 51精品国自产在线| 一区二区乱视频码| 99热免费精品| 5月婷婷综合| 天天日天天日天天搞| 五月丁香成年黄色| 99热这里只有精品在线观看| 亚洲精品一区中文字幕乱码| 丁香五月激情啪啪啪啪| 玖玖爱综合网| 色婷婷丁香五月丁香| 五月天综合在线观看| 91男同| 欧美性生交XXXXX无码小说| 欧美日本99| 伊人99热| 色青青五月| 激情丁香五月激情婷婷| 国产无套精品一区二区| 91精品久久久久久| 婷婷五月天AV| 无语停婷丁香网| 天天摸天天肏| 激情丁香婷婷六月天| 伊人五月婷婷| 日本五月天一页| 色播五月网| 九九Y精品热播| 99精品在线播放| 欧美va在线| 丁香五月天电影| 91久久九色| 色五月婷婷开心| 六月婷婷久久| 韩国不卡AC视频| 亚洲无码成人网| 久久免费婷婷视频| 99色在线视频| 超碰猛烈的性猛交| 色婷婷丁香特级性爱视频| 激情婷婷五月天| 亚洲蜜乳AV| 婷婷色网| 天天日日夜夜| 久久九九99视频| 99热久久这里只有精品| 开心婷婷五月| 在线综合亚洲欧美65| 激情五月天婷婷图| 丁香色五月天| 日日做A爰片久久毛片A片英语| 五月婷婷综合影院| 性色播| 色婷婷在线视频综合| 一级二级香港秋霞欧美欧美秋霞| 色五月激情婷婷| 激情综合在线播放| 五月婷婷之六月丁香| 色五月丁香网| av第一二区| 婷婷综合网站| 丁香五月综合| 超碰免费人妻| 开心网五月色婷婷| 四季8848精品成人免费网站| 亚洲欧洲美女在线观| 五月天色婷伊人| 999婷婷综合| 97人人干。| 丁香五月亚洲综合| 色色婷| 欧美精品999| 天天干天天干天天干| 婷婷情色五月| 久久伊人日日夜夜| 久久99热这里只有精品| 精品亚洲日韩99欧美片| 五月丁香婷婷国产精品综合| 人人草人人舔| 丁香激情五月天| www夜夜操wwwcon| 中文字幕在线免费看线人| 99re99在线看| 五月丁香婷婷中文| 欧美VA视频| 色婷五月| 五月天伊人| 婷婷91| 色色网站在线| 97婷婷五月丁香| 99热精品综合| 午夜69成人做爰视频| 五月天婷婷丁香人人操91| 激情床戏| 欧美日韩五月婷婷| 久久久久久久久久人妻| 精品人妻一区| 日韩成人综合网| 91精品在线看| WWW.婷婷五月天.COM| www.婷婷六月天| 白人荫道BBWBBB大荫道| 久热2025无码| 国产JK精品白丝AV在线观看| 五月色情婷婷开心五月色情| 五月丁香成人网| 丁香五月婷婷成人综合| 亚洲乱码日产精品BD| 九九热视频免费的| 婷婷色五月大香蕉在线| 激情九九这里只有精品| 丁J香六月首页| 天天爽天天摸人妻综合网| 婷婷色基地在线看 | 婷婷丁香宗合888| 国产午夜一区二区三区| 国产欧美日韩性爱| 成人AV在线电影| 五月婷综合性中心| 欧美日韩色色| 橾逼网| 玖玖午夜视频| 这里只有精品免费| 久久婷婷成人视频| 国产精产国品一二三在观看| 激情五月婷婷色播网| 久久天堂婷婷五月| 影视av久久久噜噜噜噜噜三级| 丁香色色网| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 欧美婷婷五月天综合| 91 久热| 91色涩| 欧美色色色色色色色色色色影视| 色无码| 五月天狠狠干| 久久综合伊人77777蜜臀| 伊人在线视频| 五月丁激情| 97人人操com| 99综合网| 热99re| 9久久精品视频| 天天综合网在线| 日本成人小说婷婷六月| 91色在线| 日韩啪啪网| 婷婷五月天激情影片| 久久网婷婷| 久热免费| 深爱五月日韩| 久热成人| 丰满少妇猛烈A片免费看观看| 播四月婷婷六月丁香| 色综合色色| 91丨九色丨首页| 日本久久人| 五月激情精品视频| 人人叉久| 激情婷婷五月天| 欧美激情综合五月色丁香| 国产伦理精品高清在线观看网站一区二区 | WWW.桔色成人.COM入口| 啪色综合|