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人妇网站| 婷婷丁香18| 超碰av在线| 春色激情| 欧美性猛交99久久久久99按摩| 国产婷婷色综合AV蜜臀AV| 91在线日| 97人人操| 五月天丁香综合在线| 99re8这里只有精品99re8热视频| 99色色网| 婷婷五月视屏| 欧美色色色| 色五月天丁香| 五月婷婷丁香啪啪| www. 五月. com| 久久xxxx| 天天插天天爽| 69久久久| 99色视频在线观看| 国产五月丁香在线| 伍月婷丁香婷| renrencaoni| 在线婷婷| 色噜噜狠狠色综合AV兰草影视| 正宗黄色毛片| 91成人电影| 97久久超级| 人人操人人妻| 丁香五月婷婷老师网站| 97偷拍对白视频| 午夜天堂一区人妻| 综合网激情| 欧美六月| 亚洲AV成人在线| 天天操B| 欧美激情综合色综合啪啪五月| 激情五月www| 五月丁香六月婷婷色| 人人干天天舔| 第四色婷婷五月| 色色综合日韩| 六月婷婷国产| 色丁香五月| 99热费观看| 日本激情综合| 久久性爱视频| 无码任你操| WWW.99视频| 99视频网址| 免费AV在线| 久久视频婷婷| www.99色| 久草丁香婷婷1024| 99资源在线| 五月婷婷精品视频| 熟女激情网| 亚洲碰碰碰| 男人天堂AV在线一区二区| 99热官网精品在线| 五月婷在线影院| 九九色婷婷| 男女99免费视频| 五月丁香综合啪啪| 韩国婷婷丁香五月| 天天爱天天做天天| 亚洲亚洲人成综合网络| 成人短视频免费观看| 亚洲色图在线视频| 色9999日韩国产| 婷婷色女| 色丁香影院| 婷婷五月丁香六月| 激情五月综合网| av高清无码| 婷婷五月成人社区| 一起草av| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 玖玖视频福利| 婷婷丁香五月综合激情视频| 久久XX| 大香蕉久久| 国产精品91抖高| 伊人久久大香线蕉亚洲五月天,| 亚洲视频国产一区| 襙逼网| 99re这里| 丁香六月激情综合| 亚洲精品国产熟女久久久| 婷婷五月花| 五月色情| 五月天久久www| 超碰在线人人| Www.婷婷五月| 色六月婷婷| 久久婷婷热| 中日韩美欧成人一区二区精品在线| 婷婷五月色播天| 青青草99热久久精品国| 日操| 色播五月网| 亚洲天堂爱爱| 农村熟妇高潮精品A片| 色五月丁香91| 黄色五月婷婷| 婷婷色五月色| 可以免费观看的av| 亚洲婷婷五月| 亚洲mm色| 色色色色五月| 婷婷刺激综合| 色婷婷五月网| 久久大香蕉| 久久无码成人| 天天开心婷婷丁香五月| 开心五月激情网| 天天综合色| 激情婷婷五月社区| 久久er九九| 欧美精品18| 国产日韩欧美性爱| 99五月婷| 婷婷噜噜| 久久R激情| 亚洲操精品| 丰满少妇猛烈A片免费看观看| www.com在线操视频免费观看| 婷婷永久在线| 色五月播五月| 婷婷五月天最新网址| 亚洲成人AV在线观看| 天天射射夜| 开心婷婷五月| 人妻六月天| 99高级会所久久| 色综合五月天| 精品九九婷婷| 婷婷五月天激情五月天| 国产AV一区二区三区最新精品| www,com,五月色色| 久色资源| 1024久婷| 五月天激情无码专区| 99热8| 丁香五月网| 激情婷婷五月色| 五月婷婷综合激情网| 天天久久婷婷| 亚洲精品性色| 亚洲欧洲另类图片| 五月丁香婷中文| 亚洲va成人va成人va在线观看| 99久久久久久久| 26uuu欧美亚洲日韩| 色色丁香| 婷婷五月天受日本法律保护| 97啪啪| 色婷婷欧美| 91日视频| 91性高潮久久久久久久久| 色玖玖综合网| 99re思思| 九九综合影音先锋| 天天搞天天色综合| 综合五月丁香97| 狠狠xx| 99热97美女| 丁香婷婷激情网站| 日韩欧美一道四区中文字幕| 美女五月天| 99精品自拍| 九九综合久久| 丁香激情六月天婷婷| 伊人在线视频| 色婷婷丁香五月天在线观看| 99免费热视频在线| 思思热在线视频精品| site:xiongshengzz.com| 婷婷深爱五月天| 99热国品免费| 久草五月丁香婷婷综合| 丁香婷婷色九月| 久久人操| 日本V在线观看不卡视频网站| 五月丁香伊人网| 色五月婷婷777| 夜夜操,天天撸| 久久久久视剧HD| 草五月| 色99色| 99色网站| 96丁香六月婷婷蜜桃综合久久| 婷婷九九| 成人AV在线中文版| 国产97色在线| 日日操日日干| 啪啪六月婷婷| 国产古装妇女野外A片| 337午夜福利| 丁香六月婷| 国产精品电影| 热99AV网站| 五月丁香花视频| 五月天婷婷影院| 久99久热只有精品国产99| 91狼友视频在线观看| 久久婷婷五月| 久1色色| 91美女啪啪| 五月丁香影院| 久久人妻伊人| 98毛片| 国产女生爱爱AA| 超碰在线成人| 五月婷婷自拍| 亚洲 25P| 一本久道综合99| 日本乱子人伦在线视频| 久久丝袜婷婷| 一级A片天天操夜夜操| 性热视频99精品| 九九亚洲视频| 五月丁香啪啪网| 久热这里只有精品性色AV| 婷婷五月丁香青青草在线| 大香线蕉伊人| 天天色综合网1| AV五月丁香| www.色五月| www.色婷婷.com| 9.1综合网| 四虎99热在线观看网站| 日日干日日| 大香蕉五月丁香| 国产五月视频| 久久97| 人妻视频在线| 天天日夜夜拍| 亚洲精品五月| 天天操天天爽天天爱| 六月丁香天堂| 1024AV视频| 色噜噜狠狠色综合日日| 青青草激情网| 99热国产精品| 婷婷丁香五月婷婷| 国产五月天欧美色| 五月激情网综合| 六月色日韩| 日韩av网站在线观看| 99人妻碰碰久久久禁片| 99热国产| 亚洲色色色| www.色婷婷| 99亚洲色| 99精品视频在线| 亚洲小视频免费播放| 日韩大片艹艹| 五月丁香婷婷99| 激情五月婷婷视频| 97人人操人人插| 丁香五月激情综合| 思思w99| 99热在这里只有免费精品| 99热丁香| Av九九| 婷婷网影院| 欧美碰碰碰| 99人妻碰碰久久久禁片| 色狠狠色噜噜AV天堂五区| 久久人人妻| 人人操人人干AV| 这里只有免费精品| 开心激情网在线| 亚洲性爱99在线| 深爱五月激情综合| 色婷婷深爱五月| yazhou seshipin| 欧美群妇大交乱婬网| 色婷婷综合久久久久| 爆乳熟女一区二区三区爆乳| 综合久久久| 夜色综合网| 七月激情六月婷婷综合在线播放| 大香蕉Av在线| 色婷婷欧美| 99热免费精品| 久久免费精品小视频| 婷婷久久久久| 这里只有精品热| 日韩砖区| 99偷拍视频在线日本| 99久久婷婷五月| 亚洲一区二区 成人网站戴套| 日本综合九九| 九九99在线| 午夜日日| 五月色网| 人妻系列久久久久久久久久久 | 超碰啪啪网| 日韩一级| 丁香五月激情网| 久久伦乱| 丁香五月天人体| 天天橾日日橾夜夜橾17| 久久婷婷成人综合色怡春院| 99热这里| 无码少妇高潮喷水A片免费| 亚洲激情网| 欧美性生交A片免费看| 无码少妇高潮喷水A片免费| 五月激情四射网站| 婷婷色操| 色综合爱综合| 26uuu日韩| 97碰| 欧美成人一区二区三区在线视频 | 操嫩逼电影| 五月花丁香婷婷| 亚洲无码色| 99热青青草| 九九热在线观看视频| 无码 av电影| 亚洲 成人 电影av在线观看| 99视频内射三四| 丁香五月婷婷姐| 国产九九一区二区三区| 久久这里只有国产| 五月丁香六月婷婷综合| 伊人久久艹| 婷婷五月花.97| 日本毛片内射| 日操五月婷| 欧美这里只有精品| 思思99热| 色丁香五月| 另类五月婷婷| 婷婷婷婷婷开心无码播放| 九九aV| 99在线精品免费视频| 九九99偷拍视频| 在线中文av| www.人人操人人看人人想人人摸 人人人人操,COM | 日日撸日日操| 天天色宗合| 欧美日韩成人h| 超碰91在线| 激情宗合网激情五月天| 九九精品热| tingtingseav| 亚洲天堂亚洲色色色| 五月婷婷丁香五月婷婷丁香| 丁香五月天天久久综合小说| 99综合| 美女91一起草| 久久久五月激| 久久婷婷影院| 91超碰人人操| 色欲久久久久久综合网综合网| 五月丁香啪| 色情五月天导航| 狠狠色丁香99| 亚洲色婷婷五月天| 六月婷婷激情| 精品99在线观看| 久久精品国产精品| 综合97五月| 婷婷五月草| 五月天色色无码| 少妇激情基地| 久久久97| 色碰碰| 性天天中文网| 思思99热| 99色视频| 久久婷婷激情| av在线激情| www.99热这里只有精品| 色啪久| 就99这里只有精品| 婷婷久久五月| site:hcxsz888.com| 五月天婷婷小说| www.婷婷久久五月天| 亚洲综合新99视频| 欧美激情综合| 狠狠色综合五月人人| 激情丁香五月天综合| 97热在线精品| 亚洲午夜视频| 超碰9| 久久在线大香蕉| 97色色综合| 色亭亭九月| 另类图片婷婷五月天| 1000部毛片A片免费观看| 五月丁香综合啪啪| 丁香六月在线| 天天拍夜夜撸| 婷婷97狠狠成人网站| 99在线观看视频免费| 久久婷婷伊人| 婷婷激情四射| 激情五月丁香五月| 婷婷伊人激情婷婷| 色色色色色色综合网| 婷婷色香六月综合激情| 国产在线aaa片一区二区99| 涩综合在线 | 激情五月综合六月丁香婷婷狠狠干| www久久久| 欧美久久婷婷| 五月天丁香网| 狠狠狠狠狠草| 97久久久免费福利网址| 丁香六月久久| 久热2025无码| 26uuu色五月| 色五月丁香网| 婷婷六月啪啪| 久久色情| 六月婷婷色宗合| 无码AV大香线蕉伊人| 99这里只有精品99| www.射伊蕉婷婷| 久99热| 91久操| 久久xx| 日本成人噜噜噜噜噜| 北条麻妃伊人| 14色综合婷婷| 《战争与艾拉》完整版| 丁香五月婷婷总啪啪| 天天日综合| 99热主页日本| 久久视频在线视频| 色色COm| 免费AV在线| 婷婷99狠狠躁天天躁| 天天爽天天爽天天爽天天爽天天爽天天爽天天| av大片在线| 五月婷婷六月丁香综合在线| 91 九色 熟女| 天天色2017| 操操操Av| 六月丁香啪| 视频一区二区在线| 中文无码婷婷| 天天夜天天色天天| 久久精品婷婷| www99精品日韩| 色婷婷五月天久久| 国产日批视频| 久热丁香| 亚洲亚洲人成综合网络| 日日干日日| 狠狠色婷婷在线| 色五月色开心开心五月| 亚洲综合激情五月久久| 色婷婷丁香五月综合| 综合99久久| 精品亚洲国产成人A片在线鸭王| 99热国产在线| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 五月天激情综合网俺也去| 九九视频在线观看视频6| 色五月婷婷一二| 热的五码久久精品| 色婷六月| 婷婷五月五月丁香| 亚洲婷婷五月天| 色五XX| 99re熱| 亚洲精品九九| 成人无码髙潮喷水A片| 五月天激情久久| 日韩精品色| www.久久爱| 婷婷五月激情综合啪啪| 97很鲁在线视频| 97人人操在线| 色婷婷五月天激情在线观看| 思思热在线精品视频网站| 碰碰女| 九九99偷拍视频| 777精品久无码人妻蜜桃| 国产色网站| 性天天中文网| 丁香五月AV综合激情| 国産精品| 天堂五月婷婷| 操碰99在线视频观看| 丁香五月成人| www色色com| 五月天天视频| 99热在线免费| 夜夜爽天天日| 天天日夜夜操五月| 2020久久婷婷五月| 久久久人妻不卡| 91人操| 大香蕉丁香| 综合 激情 婷婷| 成人av免费观看| 丁香五月婷婷啪啪啪| 婷婷亚洲综合| 思思精品视频| 情趣视频66| 天天成人丁香美女AV| 色欲操| 九九人人操| 综合久久久| 先锋资源婷婷| 日韩美女羞羞网站在线观看| 美国天天操无码| 中文字幕丰满乱孑伦无码专区 | 久久久er热| 影音先锋按摩| 六月丁香啪| 丁香婷婷久久| 久久色五月| 九月婷婷久久| 色色综合成人网| 五月婷视频久久| 色色婷婷五月天| 超碰激情网| 99日本黄站| 在线中文av| 7777激情基地| 日本va欧美va欧美va精品| 久久人人看| 久久ww| 五月丁香久人妻中文| 色色色激情| 五月天婷婷综合久久| 亚洲五月天,激情视频| 性爱动图国产麻豆一区二区三区 | 人妻无码精品一区| 天天日日夜夜| 丰满老熟妇BBBBB搡BBB| 色五月婷婷在线观看第一页舔| 日本色色色色色色色色一色二色| 91re色综合视频| 婷婷不卡基地| 成人色图情色成人网 www.5b5b5bcom 五月天| 五月丁香综合久久夜夜| 丁香婷婷色九月| 新97人人上人人| 99色色热| 婷婷丁香激情| 舔色婷婷| 色色色9| 中文字幕在线免费看线人| AA片在线观看视频在线播放| 色约约视频一区二区三区四区五区 | 嫩草视频在线观看| 亚洲乱码精品久久久久..| 91精品国产综合久久久不卡电影| 丁香五月天婷婷大香蕉| www.黄色片-久久成人国产精品在线播放-999AV| 人人操AV| 婷婷五月综合丁香久久| 97干婷婷| 激情美女五月天| 久色五月婷婷综合| 久久婷婷五月综合啪| 中文字幕在线日亚州9| 人人操AV| 激情av网| 伊人五月婷婷| 亚洲精品激情| 亚洲热视频| 国产黄色在线观看| www99久久| 激情伊人五月婷婷久久| 丁香激情五月| 激情内射人妻1区2区3区| 人人草碰| 五月天五月色婷婷综合| 激情欧美丁香五月| 9久热| 99久久高清视频| 91丨九色丨熟女高潮| 五月婷婷狠狠干| 激情久久久久| 91熟妇大香蕉| 丁香五月亭亭六月综合激情网| 九九热免费| 狠狠色成人影片| 九九激情| 婷婷深爱五月天在线| 丁香五月婷婷基地| A短视频免费在线观看| 日本色99| 99热国产这里只有精品| 狠狠色色| 91色在线/日韩| 婷婷丁香综合成人| 开心五月深爱五月| 97在线精品视频| 天天操狠狠操| 一点色成人网| 无码色色色色色| 五月丁香六月婷婷综合网站| 中文字幕丰满孑伦无码专区| 大香蕉天堂| 色久激情在线| 五月激情小说| 婷婷激情五月| 另类激情五月在线视频欧美| 91久女| 丁香五月亭亭六月综合激情网| 五月天综合激情网| 五月久久| 99精品久久久久久久婷婷久久 | 99热乎| 久草大| www.97视频| 91九色国产| 另类激情五月在线视频欧美| 久久月天堂| 精品人妻久久久| 天天天天干| 久久久久激情| 七七色色综合| 狠狠久久婷婷| 丁香狠狠色婷婷久久无码视频| 青草青草视频2免费观看| 久久伊人大香蕉| 99色综合| 9超碰在线| 婷婷成人五月天成人文学小说| .精品久久久麻豆国产精品| 久久精品婷婷| 99在线精品观看99| 色播六月| 思思re99视频在线观看| 久久人人看| 九九色99| 九九黄色网| 热九九精品| 色99在线观看| 丁香九月激情| www.狠狠| 五月婷婷色| 亚洲五月天第一综合干| 九九伊人网| 99热成人精品| 97在线观视频免费观看 | 91操操| 国产激情综合五月| 人妻体体内射精一区二区| 小视频aaa久久久| 成人国产欧美大片一区| 五月婷婷成人w| 亚洲欧洲中文日韩久久AV乱码| 亚色网站小视频| 九九视频在线观看视频6 | 乱女乱妇熟女熟妇综合网站| 国产AV国片偷人妻麻豆| 丁香五月综合在线播放| 狠狠爱五月婷婷综合六月| 婷婷开心久久| 激情av在线| 综合色色网| 99色精品视频| 无码少妇高潮喷水A片免费| 婷婷五月天激情AV影院| 2021日韩无码| 97碰超级人人看| 国产xxxxx在线观看| 色婷婷成人做爰A片免费看网站| 6080av| 五月天婷婷7米| 超碰在线9| 亚洲最大视频| xfplayav在线| 超碰在线综合| 色婷婷亚洲婷婷| 99在线国| 任你操精品免费| 丁香五月天电影| 亚洲小说欧美激情| 五月婷久久久| 99人人干| 色情五月停停丁香| 九九九九综合| 国产毛片精品一区二区色欲黄A片| 华人在线免费| 欧美综合五月丁香六月婷| 26uuu日韩| 丁香五月婷婷激情123| 99精品偷拍视频| 久久久com| 无码婷婷五月天| 黑人熟妇一区二区三区| 久久久久人妻| 99综合| 丁香丁香激情网| www.久操| 久久精品这里只有精品免费首页| 热久久精品视频网站| 国产.亚洲.欧洲视频在线| 天天综合精品| 99视频只有精品| 九九热这里有精品23| 欧美婷婷色五月网| 思思99热| 久久精彩视频| 亚洲女婷婷五月基地综合久久久| 亚州操操| 99欧美精品99日本精品| 亚洲色在线观看| 色久五月天| 五月天天天操天天爽夜夜操| 免费99色| 欧美性生交XXXXX无码小说| 一级二级色大片| 日本成人噜噜噜噜噜| 欧美综合五月丁香六月婷| 热热色色五月天婷婷| 99日韩| 综合激情网激情五月。| 国产五月丁香在线| www、丁香五月天| 激情五月天婷婷播播久久综合91| 色综合色色| 播播网色播播| 思思热在线免费视频| 日本女天天爽| 久久东京热婷婷五月| 九一牛视频探花| 北京熟妇搡BBBB搡BBBB| 新97人人上人人| 色欲色香综合网| 国产精品色色色色| 天天开心婷婷丁香五月| 秋霞成人毛片一级A片| 九九中文色色| 香蕉人妻AV久久久久天天| 美女要搞搞天天搞搞搞网站| 五月婷久久| 第四色网婷婷| 欧在线一区| 五月婷婷爽爽爽| www.99热| 超碰在线91| 99热资源在线| 久久丁香五月天| 毛片毛片毛片毛片| 九九热视频免费观看| 伊人大香五月天| 丁香五月天导航| 草一草avb| 婷婷色色丁香五月天| 五月亭亭色| 操婷婷久久| 亚洲182在线观看| 成人超碰网| 国产真人做爰视频免费| 天天干,天天日| 国产成人综合网| 五月天天天色| 激情综合五月婷婷| 九九成人视频| 婷婷色影院| 亚洲激情AV| 日日夜夜狠狠| 国产成人精品亚洲线观看| 五月天社区| 狠狠综合网| 狠狠操天天干| 熟女人妻一区二区三区免费看| 日日干夜夜干| 农村熟妇高潮精品A片| 99精品国产在热久久| 午夜天堂一区人妻| 国产熟妇乱子伦hd| 久久女伦| 操操熟女| 91久久五月天| 色99在线视频| 婷婷五月激情热播| 色五月激情五月丁香五月婷婷啪啪综合 | 色九月婷婷丁香| 五月色丁香| 久久婷婷五月天| 久久亚洲婷婷| 日韩黄色影院| 99热色综合| 欧美网站视频4399| 99久久久免费| 99re思思精品视频在线观看| 丁香六月爱综合| 色色色色色色色色色色色色色色,网站| 99在线精品免费视频| 色色亚洲五月天| 9999久久久久| 欧美婷婷六月丁香综合色连续高潮抽搐| 人人操Av| 五月网网站| 色色无码| 激情五月激情综合网| BBWCUCKOLD精品熟妇| 婷婷视频在线碰| 五月综合丁| 色婷五月天| 激情五月综亚网| 亚洲第一精品成人999久久精品| 日91高清无玛| 亭亭五月丁香五月天激情| 免费观看全黄做爰的视频| 就爱日五月天| 99 re视频一区| 五月天开心婷婷久久| 五月激情五月婷婷五月天在线| 激情综合五| 色婷婷网| 婷婷六月久久| 97精品综合| 欧美亚洲婷婷五月| 色吧婷婷| www.97视频| 久9热视频| www.国产亚洲69ty.久久久久久久久久久久| 婷婷五月天激情五月天网站| 色综合大香蕉| 色欧美一级| 色色色在线观看| av婷婷丁香 六月| 激情五月天www| 欧美日韩91| 五月天婷婷丁香成人网| 成人欧美日韩| 开心五月色婷婷综合开心网| 九九九热精品| 热久久999| 成人 在线 日韩| 亚洲婷婷激情888精品久| 久久婷婷网站| 琪琪布丁香社区激情五月天| 色婷婷综合久久久久| 怡红院精品视频久久久久久久久| 久综合色| 97操女视频| 五月丁香婷婷综合在线| 夜夜躁爽日日| 密着浓厚中出乚交尾GvG935| 久久人人超| 五月之婷婷| 久久婷婷亚洲| 色综合伊人网| 色色五月丁香婷婷综合| 丁香五月骚喷水视频| 8区视频在线| 91综合视频丁香| 色亚洲无码| 五月天成人综合| 婷婷色五月91啪啪| 日日噜人人人做人| 五月丁香六月色| 亚洲一二三网| 亚洲五月六丁香激情| 久久婷婷五月丁香网| 欧美高潮9| ji'qing'luan'ren'lun| 欧美婷婷五月丁香| 黄色一级影片| 可似看的AV| 操人妻AV| 婷婷五月丁香五月丁香| 综合色情网| 日韩三及成人AV片| 色5月婷婷| 成人无码髙潮喷水A片| 丁香五月天堂| 狠狠干综合网| 青青操丝袜美腿| 亚洲激情精品| 中国操逼99| 99在线观看免费精品视频| 99久re热视频精品98| 九九干视频| 丁香五月天堂| 九九成年视频| 中文字幕色色| 精品综合网在线| 青娱乐美女福利视频美臀| 4399成人黄A片| 婷婷五月天成人导航| 日韩欧美一级大黄网站| 激情文学第四色婷婷丁香五月| 天天插天天插天天插天天插| 欧美日韩色色| 婷婷射图五月天| 69凹凸成人综合网| 综合久久五月| 天堂成人A片永久免费网站| 77799热| 色婷婷丁香五月| 日韩三级片一区二区| 天天操夜夜操| 狠狠香婷婷五月| 久操婷婷| 婷婷五月天无码视频| 丁香五月天激情综合| 激情五月激情综合网一级丸片| 久综合网| AV五月丁香| 青青久在线视频免费观看| 六月丁香婷婷色综合| 中文字幕按摩做爰| 视频这里只有精品16| 一级片操逼视频| m色激情网| 九97免费视频| 人妻久久人妻久久第一区| 久九九热| 丁香五月综合婷婷| 色五月婷婷婷婷婷婷婷婷婷婷| 久久这里只精品| 丁香婷婷五月激情综合| 一本道在线电影| 九九热这里只有精品9| 色综合99无码 | 婷婷久久18| 五月婷婷久久大香蕉| 久久色区| 亚洲婷婷五月天| 色婷婷丁香AV综合| 超碰免费电影| 超碰成人av| 色五月天影视| 国产乱子轮XXX农村| 激情五月婷婷综合色播小说| www.com色播五月天| 黄网免费看| 五月婷婷五月天激情视频| 97caop| 吉澤明步Av一區二區| 97亚洲婷婷| 丁香五月五月婷婷| 激情伊人五月婷婷久久| 超碰人人妻| 久久婷婷国产| 99热这里只有在线播放| 五月婷婷久久网| 亚洲AV综合网| 亚洲性图一区二区三区| 亚洲精品另类| 亚洲第一成人无码A片| 精品网站99| www.久久色.com| 久久久五月天| 欧洲综合色| 香蕉久久六月| 五月天伊人| 五月天婷婷影院影院观看| 综合AV在线| 91夫妻视频| 丁香五月欧美| 婷婷六月丁香在线| 懂色av粉嫩AV蜜臀AV| 五月丁香婷婷综合久久| 五月色导航| 亚洲无aV在线中文字幕| 激情综合五月| 久热这里只有精品6| 婷婷丁香射射| 九九色黄色| av大香蕉| 亚洲最大五月六月丁香婷婷| 久久亚洲婷婷| 亚洲人成播放网站| 99热这里只有精彩| 综合久久五月天| 婷婷基地成人五月天| 色婷婷丁香社综合| 中文字幕丰满孑伦无码专区| 99操免费视频| 好好干av| 婷婷五月天影院| 五月天综合视频| 国产夫妻操逼内射视频| 久9热视频| 色综合久久久无码中文字幕999| 中文字幕在线资源| 五月丁香六月婷婷视频| 深爱激情网五月| 国产肏屄大片| 欧美性生交XXXXX无码小说| 97热这里精品在线视频| 天天色综合网吨吧| 九九热只有这里精品| 九九人人看| 日韩专区五月天婷婷丁香| 九月丁香婷婷综合| 夜丁香综合| 丁香五月第九色| 在线观看亚洲视频影院| 日韩欧美成人网| 色综合久| 婷婷五月av| 色五月丁香婷婷久草| 伊人五月网| 欧美日韩一a.无| 成人中文字幕在线| 久9草在线观看视频| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 超碰在线成人| 色五月大| 开心五月深爱婷婷| 五月天色婷婷视频| 丁香五月六月久久综合| 丁香五月影视| 十区AV| 1024在线视频| 九色成人AV在线| 嫩草AV久久伊人妇女超级A| 六月婷婷五月天| 六月久久婷婷| 99热综合网| 天天日,天天射,天天舔| www,婷婷五月天777me,com| 丁香女人五月天| 亚洲小视频免费播放| 国产白丝在线一区| 五月丁香久久呀| 国产99久9在线| 久久青草国| 亚洲182在线观看| 日本V在线观看不卡视频网站| 欧美大肥婆大肥BBBBB| 天天操天天插| 色狠狠综合| www.婷婷五月| 亚洲最大视频| 天天天天操| 九九热这里只有精品5| 激情婷婷久久| 婷婷金品综合视频| 九九色情网五月天| 狠狠爱丁香婷| 日韩操啪| 94干大香蕉| 色婷婷文字幕| h亚洲| 日韩久综合| 任你操精品免费| 婷婷色片| 久久免费操| 日本久久高清| 丁香五月天导航| 第四色色六月色综合| 丁香五月婷婷动漫| 婷婷免费无视频| m色激情网| 拳交大逼| 五月丁香六月婷| 色五月婷婷av| 五月丁香婷婷综合| 亚洲妇女熟BBW| 久久R激情| 色九九一二| 九九热99视频在线| 亚洲丁香花色| 六月色色综合| 99精品22| 九九综合| www.婷婷.com| 内射人妻视频国内| 婷婷五月综合丁香久久| 婷婷 丁香 久久| 久久网日本| 五月婷婷伦理| 日本激情五月天‘| 丁香六月婷婷| 五月丁香啪啪| 欧美叉叉叉BBB网站| 婷婷天堂综合网| 9久久久| 亚洲综合在线伊人婷| www.色婷婷。com| 亚美欧色影院| 91婷婷色五月| 婷婷五月天综合网| 亚洲黄色操逼| 超碰av天堂| 秋霞三级色戒| 激情五月天www| 色五月色图| 丁香五月激情婷婷| 大鸡巴伊人网| 4399在线日本A片| 五月天婷婷激情干干| 婷婷伊人五月天| 天天综合网91| 丁香五月AV| 超级碰碰一区| 日本综合久久| 天天天日天天天干| EEUSS鲁片一区二区三区| 天天综合网站| 十二区无码| 色婷网| 99色 色| 丁香色色网| 色婷婷丁香女女| 五月婷六月| 精品福利911| 九色七七| 丁香五月激动深爱欧美| 色婷婷88| 五月丁香久久激情网| 99在线精品视频| 国产精品久久欧美久久一区| 色婷九九九| 久久久久久草黄色片AV在线观看| 99热这里只有精品3| 色婷视频| 婷婷六月综合基地| 日操五月婷| 六月婷婷av| 久婷婷久草| 色情五月天小说| 99国产视频网| 丁香激情网| 91无码视频| 久久激情五月天| 思思热在线观看| 第四色网婷婷| 欧美激情2025| 色色五月天激情| 91九色中文| 99色1| av狠狠操| 婷婷久久影院| 婷婷深爱网| 狠狠插狠狠操| 婷婷综合日本| 久久久久久丁香五月| 免费黄色片子| 超碰com| 色五月色五天免费视频| 综合五月天| 色啪影院| 天天干天天做| 五月色亭丁香| 久久五月婷婷开心网| av狠狠操| 婷婷丁香激情综合色情| 可以直接看的AV| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 色综合天天综合成人网| 97欧美在线| 黄色激情五月天| 一本色道久久88加勒比| 五月六月丁香激情视频| 伊人网碰碰| 九色1区视频在线| α久久| 99亚洲精品| 婷婷激情肏屄网| 丁香婷婷五月激情综合| 热久久91| 五月丁香啪综合| 99视频久久| 色吊丝99| 天天干天天爽天天操| 亚洲亚洲人成综合网络| 丁香婷婷精品视频| 99re这里| 色五月91| 色欲天天综合| 欧美久久网| 久久综合五月天| 色婷婷亚洲综合av| 激情五月天色婷婷| 91热久88| 日韩久久这里只有精品| av网址在线播放| 婷婷丁香成人网址| 少妇性BBB搡BBB爽爽爽视頻| 婷婷爱综合| 无码少妇高潮喷水A片免费| 五月丁香综合激情在线观看| 91九色在线| 人人操Av| 午夜不卡久久精品无码免费| a69在线视频| 亚洲精品99| 丁香五月婷婷色综合基地| 四川BBB搡BBB搡多人乱亂| 婷婷性爱无码视频| www,999日本色| 六月天丁婷婷| 中文字幕av久久爽| 色五月激情五月天| 免费成人网在线观看| 久久视频婷婷| 99热9999| 99这里有精品| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 人妻操逼视频。| 日韩无码专区| 26uuuavcom| 色综合99无码 | 九九成人视频| 日韩AV片| 久久激情五月婷婷| 五月情四婷婷| 久久久婷丁香五月| 色色色无码| 亚洲综合另类| 97在线视频观看| 99这里有精品视频3| 北京熟妇搡BBBB搡BBBB| 人妻操操色| 色开心五月丁香| 综合久久高清| 婷婷五月四狠狠| 丰满少妇猛烈A片免费看观看| 亚州精品久久久久AV无码| 丁香香蕉婷婷| 久久色婷婷| 亚洲美女婷婷五月天| 苗黎美女四级成人版一级二级毛片| 男人的天堂五月丁香| 9色免费网| 99在线热| 97激情五月天| 加勒比久热| 成人av免费观看| 色国产五月| ady狠狠入| 亚洲人妻av| 色播丁香五月婷婷操:屄| 丁香婷婷影院| 五月婷啪| renrencaoni| 97操碰免费视频| 六月婷婷激情| 色青青视频| 久久久欧美精品sm网站| 开心激情站| 激情五月婷婷丁香综合网| AV在线大香蕉| 青草青草视频2免费观看| www.久久av.com| 色婷五月| 欧美日本国产| 超碰在线观看99| 99久久思思| 91色在线| 无码免费人妻A片AAA毛片西瓜| 激情影院丁香五月| av在线超清中文| 五月婷中文娱乐综合| 激情婷婷丁香五月| AV在线收看| 可以看的av| 五月丁香综合中文|