免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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
返回資訊列表
久久伊人9| 国産精品| 99九九综合久久九九| 五月婷婷激情综合| 丁香婷婷综合影院| 婷婷色影院| 视色综合| 激情综合网,五月| 操操操97| 丁香五月在线观看| 婷婷亚洲综合| 色狠狠综合| 91pornav在线| 99久久国产综合精品五月天喷水\| 久久538| 大香蕉啪啪网| 色婷婷在线影院| 五月婷婷激情久久| 日本99色| 六月色播| 激情小说五月欧美亚洲丁香| 思思热思在线精品视频| 欧美色宗和激情| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 亚洲人妻AV| 丁香婷婷婷五月| 亚洲操操| 午夜婷婷| 色婷婷欧美| 婷婷五月天色色| 天天日夜夜曹| 欧美五月丁香| 五月天天天开心激情网| 99久久这里只有精品免费官网| 99色免费在线观看| 亚洲成人综合网在线免费观看| 丁香五月婷婷基地| 99热这里只有精品66| 五月婷婷婷| 伦乱美欧| 狠狠色婷婷丁香六月| 在线成人网址| 99热老司机| 日本在线观看aaa 99| 99激情| AV在线观看网站| 久久视频在线| 婷婷五月天成人小说| 婷婷色色播五月天| 丁香六月激情蜜桃| 五月久久丁香| 伊人在线视频| 色婷婷A| 婷婷情爱五月天6| 六月丁香成人| 久色中文| 79色色色色| 麻豆五月丁香婷婷| 国产精品视频久久99| 入口五月婷婷六月香| 成人av播放| 色综合天堂| 婷婷之玖玖| 日本三级第一页| 国产做爰视频免费播放| 丁香五月天社区婷婷| 97日本在线播放| 欧美69久成人做爰视频| 操婷婷基地| 久热精品免费视频4| 图片区 小说区 区 亚洲五月| 五月天婷婷色| 国产av天天插天天操天天爽| 超碰人人99| 久热婷婷在线视频| site:xiongshengzz.com| 亭亭色网| 五月香蕉婷婷| WWW,五月| 91人操人人人操人| 极品少妇XXXX精品少妇偷拍| 亚洲精品九九| 婷婷五月丁香综合| 啪啪激情网站| 97人人搞| 久久丁香综合香蕉| www98日本小时间到了| 九九色播五月丁香| 夜夜天天久久婷婷| 可以免费观看的AV| 免费观看18视频网站| 亚洲亚洲人成综合网络| 激情五月天的婷婷| 丁香婷婷六月天| 亭亭五月丁香五月天激情| 91嫩草国产线观看亚洲一区二区| 黄色成人AV在线| 91久热| 五月色网| 天天爱天天操| 97干在线观看视频| 中文资源在线a | 亚色网站小视频| 丁香深五月婷婷| 婷婷伊人綜合中文字幕| 狠狠精品干练久久久无码中文字幕| 欧美叉叉叉BBB网站| 丁香六月啪| 色婷婷性爱网| 久月婷婷| 91精品久久久久久综合五月天| 丁香五月婷婷俺也要去| 激情久久丁香| 777.色色| 大香蕉婷婷久久| av大香蕉| 亚洲色五月婷婷| 九九99精品视频| 香蕉综合网| 狠狠肏综合网| 久操人妻| 欲求不满的人妻| 久久久久久久久久91| 色狠狠五月天| AV人人操| 热99玖玖99玖玖99九九| 久久9情免费| 久久Xx| 99色综合网| 丁香五月在线视频黑人| 五月婷激情| 婷婷大香焦| 狠狠色丁香久久| bbwcuckold精品熟妇| 99久久久| 婷婷五月丁香基| 亚洲视频国产一区| 久久这里只有欧美| 亚洲性爱AV在线| 色色五月天丁香婷婷| 色丁香综合影院| 久久人妻情侣| 色情成人五月天| 啪啪操超碰| 美女要搞搞天天搞搞搞网站| 婷婷丁香五月天激情| 久久丁香婷| 五月六月丁香婷婷在线观看| wWwCom夜操wwW| 五月丁香六月婷婷的女人| 色婷婷五月在线| 久在线88综合| 丁香五月综合在线| 五月丁香色综合| 婷婷综合色网| 精品爆操| 4399在线观看免费毛片| 色欲久久久久久综合网综合网| 国产成人片| 久久六月天| 人人爱摸视频| 9伊人网| 玖玖资源站蜜臀| 成人做爰高潮A片免费视频| 色婷婷六月天| 婷婷五月激情丁香| 欧美日韩大黄| 91在线操逼视频| 婷婷丁香六月五月天| 色五月婷婷五月天| 久久大香蕉同僚| 亚洲热视频在线| av高清无码| 秋霞电影一级黄| 五月婷婷与六月丁香图片激情| 久久免费精彩视频| 颜射 精品性爱av| 丁香五月天激情视频| 99热最新国内| 丁香五月六月综合欧美| 中文字幕欧美久久| 99热最新网址| 安息电影在线观看完整版| AV中文在线| 久久综合性| 99久久玖玖| 色色影院黄大片| 夜夜骑夜夜撸| 大香蕉啪啪啪啪啪啪| 99爱视频在线播放| 久久久久久久8| 性色天| 伊人玖玖综合| 久久99热这里只频精品6学生| 国产成人av在线| 色狠狠综合| 天天射影| 狠狠色婷| 夜夜爽天天爽| 婷婷五月天美女视频| 婷婷天堂综合网| 婷婷五月天在线视频网站| 超碰在线精品| 超碰人人摸人人操| 亚洲第一成人无码A片| 中文字幕综合网| 深爱激情丁香| 色五月第四色| 丁香五月自拍| 久热伊人9| 99久久婷| 99惹在线精品免费观看| 五月天成人在线视频网站| 大香蕉伊人99| 亚洲av另类在线观看| 欧美色色色色色| 丁香五月色色| 久久9视频欧美| 丁香六月激情综合网| 99操不停| 超碰91在线| 桔色成人在线| 夜夜www| 极品少妇婷婷五月| 做爰丰满少妇1313| 色五月婷婷基地| 天天射综合网天天插| 五月婷婷九九久久| WwW色婷婷| 五月婷婷导航| 99热只有精品在线观看| www.久久| 在线观看996精品| 天天日夜夜| 人人色婷婷| 天天爽成人综合网站| 五月婷婷很很色| 91干在线| 婷香五月激情视频| 六月天丁婷婷| 亚洲色小说在线综合| 婷婷久久久| 五月丁香六月激情欧美综合| 丁香亚洲婷婷五月| 色五月婷婷AV| 亚洲av无码精品色午夜| 婷婷伊人综合| 精品久久久人妻| 麻豆123区| 丝雨一区二区| 丁香,开心成人,久久| www.99久| 色五月婷婷av| 色丁香五月| 五月激情偷拍婷婷| 亚洲视频操| 99色综合久久| 婷婷久久久| 色婷婷五月天视频网站| 五月婷婷六月综合| 久久 视频这里只有精总| 天天日综合网射| 激情久久久久久| 久久婷婷综合色丁香| 婷婷97狠狠成人网站| 日韩成人综合网| 欧美影院| 六月婷久久| 再次出发二| 色色五月婷| 日韩人妻在线观看| 99热最新| 色久99| 91久久久久| 99热在线观看| 99精品色| 欧美交换配乱吟粗大25P| 99色婷婷视频| 色色色综合色| 超碰二区| 99亚洲视频| 99热e| 丁香五月六月婷婷综合| 亚洲另类婷婷综合| 99综合网| 色综合色香蕉网| 日韩黄色中文字幕| 色婷婷亚洲综合av| 全高清无码视頻| 国产精典视频在线观看| 久婷婷五月激情| 亚洲综合新99视频| 呦呦视频无码播放| 色日本五月天| 丁香五月色情| 精品久久久久成人码免费动漫| 激情小说五月天| 天天草天天爽| 五月天色影院| 久热99中文字幕| 99热爆在线| 亚洲色啪| 欧美精品狠狠色丁香婷婷| 婷婷丁香黄色| 99热成人永久免费| 79精品视频| 五月熟妇婷婷久久| 五月激情婷婷播播开心| 91碰| 久久性爱网| 狠狠爱五月婷婷综合六月| 99人人干人人操| 激情图片亚洲| 色综合婷婷| 丁香婷婷久久激情| 久久九精品| 久久a热| 综合久久丁丁香婷| 色九月综合| 色婷婷a v| 就要去操亚洲成人精品五月天丁香婷婷| 久久久久久久久久久久久久人妻视频| 人妻精品久久久久久| 久久精品99久久久久久| 欧美黄色一级录像| 超碰av在线| 婷婷五月天亚洲图片| 天天干天天干天天干天天干天天干| 操操自拍| 九月婷婷人人操人人舔人人爱| 超碰在线观看三级片| 色色丁香五月天社区| 久久久久9| 欧美色欲色欲天天天www| 六月婷婷色综合| 婷婷五月六月| 超碰不卡在线| 特级片神马电影| 婷婷伊人中文字幕| 91丁香婷婷综合资源| 欧美在线骚货| 婷婷中文在线| 99热狠狠操| 亚洲综合网激情五月天| 另类小说五月天| 色色丁香婷婷五月天| 色 免费网站视频| 色五月激情婷婷| 五月激情偷拍| 丁香五月天日韩无码| 五月丁香六月久久| 久操大香蕉| 色色色色色色色色色色色色色色,网站| 五月综合色| 久久亚洲精品成人无码网站导航| 97干在线| AAA久久久| 婷婷五月丁香青青草在线| 五月婷婷中文字幕| 综合激情视频| 婷五月天| 五月丁香久久久日婷婷久久婷婷日| 婷婷另类小说| 美腿丝袜AV天堂网| 五月天婷婷色综合| 日韩精品VIP| 超碰人人操在线| 色婷婷基地| 激情床戏| 久热中文字幕| 日韩婷婷| 色婷婷综合久色AV五色最新| 激情五月综合| 综合五月草| 日韩aaa| 激情都市另类| 91九色国产在线| 五月婷婷啪啪| 婷婷月综合| 激情综合网五月婷婷| 丁香花综合永久入口| 五月激情另类| 久热婷婷综合| 五月丁香婷婷开心| 99久免费视频| 亚洲中文乱字字幕在线永久| 久久9999| 色五月激情五月天| xxxx五月激情| 激情五月天开心网丁香无码| 亚洲中文字幕在线观看| 亚洲色色精品| 超碰伊人碰婷婷五月| 狠狠色噜噜色狠狠狠综合久久成人波 | 一起草无码| renrencaoni| 婷婷视频网| site:wpjngj.com| 欧美成人精品A片免费一区99| 亚洲色情免费网| 国产又爽又猛又粗的视频A片| 啪啪啪啪五月天| 亚洲成人无码专区| 好好干av| A1片久久| 色婷婷导航| 开心四月婷婷在线色播播| 免费无码毛片一区二区A片| 婷婷舔| 99热在线观看成人| 久久多色| renre人人操国产超碰在线| 影音先锋自拍网| 丁香五月在线看| 欧美精品A片一区在线观看| 婷婷色九月| 五月激情六月| 九九精品re免费视频| 色爽九九| 亚洲综合色丁香五月天| 4438亚洲欧美| 日韩视频99| 91超级碰在线视频| 激情五月丁香五月色| 99热这里只有精品3| 亚洲成人av中文| 人人摸人人干| 天天射综合网天天插| 成人短视频在线观看| 欧美3AaAa大片| 97久久精品| 做爰丰满少妇1313| 九艹在线| 天天人人综合| 99九九中文字幕视频| 99热这里只有精品中文字幕| 终合激情网| 热中文字幕| 久久婷婷艹| 天天搡日日搡aaaaⅩ| 亚洲色情一区二区三区四区| 影视av久久久噜噜噜噜噜三级| 欧美成人va| 婷婷丁香久久五月综合| 色久九| 久爱综合| 六月天婷婷| 欧美日韩成人在线| 2015WWW永久免费观看播放| 99∨VTV| 99热香港| 噜噜色天天开心| 亚洲第二AV| 日本色婷婷| 日韩人妻白浆视频系列| 99熟女| 亚洲操b| 色婷婷最爱五月| 超碰在线日夜| 久久婷婷影院| 伊人婷婷五月天| 懂色AⅤ| 五月婷婷中字在线| 超碰大香蕉网| 91大神操美女| 色九九综合热99| 婷婷黄色网| 成人精品视频99在线观看免费| 日韩在线视频网站| 五月天丁香| 精品国产va久久久| 激情五月无码| 婷婷五月天.com| 亚洲sesesese| aaaaa黄色| 色一色综合| 日韩精品AV一区二区三区| 久机视频这只有精品| 91精品国产91久久久久青草| 色色99| 热99在线| 禁欲电影完整版在线播放| 激情深爱五月天| 99热这里只| 婷婷91| 99这里有精品| 婷婷五月播| 色原狠狠综合| 97碰人人操| 亚洲精品网址| 97干网站| 青青久久五月| 国产综合A片| 国产原创视频91九色| 超碰免费人人肏| 小香蕉av| 香蕉五月婷婷| 色天堂在线| 欧美大香蕉视频| 日本色天堂| caop在线视频| XX久久| 成人在线不卡| 天天肏屄夜夜爽| 日韩成人五月天| 久久人妻情侣| 久久亚洲网| 丁香成人综合| 色五月综合在线| 五月亭亭开心网| 五月丁香六月激情| 色婷婷婷婷| 久热这里只有精品99re| 欧美内射AAAAAAXXXXX| 精品二区| 97欧美在线| 99九色视频在线观看| 婷婷五月天AV网| 青青草蜜臀| 免费观看的婷婷五月视频在线| 五月激情综合网| 六月 丁香 视频| 欧美婷婷| www.91AV.COM| 久久66er久久| 五月六月丁香婷婷在线观看| 久久久久婷婷五月热综合| 色婷婷激情小说网| 欧美综合五月丁香六月婷| 日日操日日爽| 五月婷婷片| 日本色婷婷| 色丁香五月婷婷| 国产精品久久欧美久久一区| 久热伊人9| 色欲婷婷夜夜| 欧美日韩99| 伊人九热| 丁香五月AV综合| 婷婷激情视频| 99热免费18| 五月综合视频在线| 五月综合激情| 狠狠色丁香婷婷| 人妻性爱| 色色综合网站| 丁香五月婷婷亚洲另类| 丁香婷婷五月基地| 99re热视频这里只精品| 色五月天天在线观看资源站| α久久| 91一起操| 黄色一级影片| 激情伊人五月天| 99在线视频操999| 9er热在线精品视频| 丁香婷婷性久久| 欧美色激情四射| 久热最新视频 | 亚洲激情在线| 丁香五月区| 99热都是精品| 成片免费观看大全| 久久这里只有精品视频1| 婷婷五月色| 婷婷第六色| 婷婷中文无码| 天天搡日日搡aaaaⅩ| 丁香激情五月| 激情人妻综合| 激情中文在线| av激情在线| 丁香激情网| 激情色情五月天| 99色看| 成人AV片播放| 九九色综合视频| 欧美97超碰| 六月色五月天天婷婷| 亚洲12p| 五月综合激情图片| 日本黄色一级| 99热免费在线| 五月天停停日日| 六月婷婷中文字幕| 五月丁香花视频| 91日本在线| 久久九色| 色五月激情综合网| 九九热这里只有精品31| 婷婷色五月天色色| 玖玖爱综合网| 精品色情一区二区三区四区| 97精品人人A片免费看| 综合久色五月| 日本性视频| 色播五月天激情| 日本色色网站| 色色婷婷五月天| 99在线观看视频蜜臀| 国产伦亲子伦亲子视频观看| 婷婷色激情五月天| 九九九午夜视频| 91丁香五月| 国产伦理精品高清在线观看网站一区二区| 99热都是精品| 丁香成人色情五月天| 9一精品视频观看| 香蕉婷婷色五月| 天天搽天天射| 日韩av高清| 九九99香蕉在线视频播放| 99在线精品视频免费| 日韩中文字幕| 丁香五月天狠狠| 色婷婷六月性| wwww.9免费视频| 日韩精品999| 第四色婷婷色五月| 色婷婷AV在线| 无码少妇高潮喷水A片免费| 色婷婷五月天在线| 欧美久久婷婷| 婷婷大香焦| 激情五月婷黄版| 婷婷丁香五月天欧美| 奇米色大香蕉| 激情五月综合婷婷| 日本女人久久| 六月婷婷网站| 超碰9| 丁香五月玖玖| 99这里有精品视频| 婷婷成人五月天成人文学小说| 婷婷激情97| 激情网五月天| 婷婷久久五月天丁香| 桃色伊人在线| 99久久久99久久91熟女| 中文成人在线| 成人免费黄色短视频| 天天色综网| 久热这里只有精品视频免费观看| 在线观看五月婷婷网| 91日视频| 1024欧美看片| 97高清国语自产拍| 狼人久草| 亚洲AV综合在线观看| 色丁香五月婷婷在线| 激情婷婷黄色五月| 免费色婷婷| 九九热超碰| 日熟女| 少妇激情五月天| 国产视频久色| 丁香六月啪啪| 亚洲激情四射| 婷婷激情九月| 婷婷六月综合基地| 欧美日韩五月婷婷| 婷婷中文综合网| 天天日日夜夜| 99热精品在线播放| 26UUU精品一区二区| 婷婷综合成人| 色色五月婷婷久久| 婷婷五月色| 亚洲欧美另类在线23p| 天天日夜夜操五月| 五月丁香WWW| 丁香五月婷婷久久综合激情网| 亚洲综合婷婷五月| 五月丁香六月婷婷成人| 欧美操逼天堂| 玖玖激情网| 亚洲不卡123| 91色性感五月婷婷丁香| 99综合久久| 六月激情婷婷| 草草视频91| 五月性色| 精品人人操| 九九五月天| 九九99九九99九九99视频网| 久久婷婷五月天| 91操人视频| 久久女婷| 最近中文字幕2019视频1| 青草青草视频2免费观看| 高清无码网址| 99riAV成人在线视频| 91呦呦呦| www亚洲无码| 1024婷婷综合久久五月天| 丁香色影院| 色五月婷婷91| 99丁香五月婷| 成年人99热| 色色色色色网站| 欧美日本黄色| 99精品无码| XX色综合| 人妻aV在线| 六月丁香久久| 五月天开心成人网| 五月婷婷开心五月| 色色色婷婷五月天| 五月丁香婷婷色色| 九月婷婷综合| 伊综合蕉| 天天激情5月天亚洲| 99热香港| 五月婷婷色激情| www.99热视频| 中文中文在线| 视频久久9| 成年AAAA色情| 精品草原久久视频| 日韩色五月| 免费无码毛片一区二区A片| 在线看AV| 99精品自拍| 国产精品A片| 国产精品色婷婷久久久精品| 天天干天天爽| 久久久久久99精品无码| 亚洲激情 久久| 啪啪六月婷婷| 专区无日本视频高清8| 免费观看日韩成人av| 婷婷成人AV| 激情5月婷婷狠狠干| 日本人人xxx| 午夜天堂一区人妻| 99婷婷国产最新视频| www.99热最新视频8| 国产免费一区二区三区三州老师F1F1.CC| 99热精品在线播放| 葵花AV在线| 就爱操www com| 久久精品夜色噜噜亚洲a∨| 精品亚洲国产成AV人片传媒| 日韩成人中文字幕| 久久这里只有欧美| 日本三级韩三级99久久| 大香蕉99| 久播影院免费观看电视剧大全最新网| 九月丁香婷婷| 色欲九区| rr天天操| 五月激情婷婷四射| WWW、日本色丁香、co m| 九九热啪啪| 激情五月婷婷她| 五月丁香六月婷婷亚洲激情综合| 99碰网站| 久久亚洲无码| 五月丁香婷婷成人综合网| 亚洲色无码A片一区二区麻豆| 在线天堂9| 激情色视频| 婷婷综合性爱网| 亚洲艹网| 91九色网| 超碰人人操在线| 五月天综合色| www.1024久久| 婷婷五月丁香伊人| 久久婷婷午夜| 天天日天天干天天插天天射| 亚洲精品又粗又大又爽A片| 日韩无码专区| 精品久热| 五月婷婷丁香| 日本操碰碰| 午夜激情婷婷| 国产婷婷五月天| 91porn一起草| 超碰猛烈的性猛交| 婷婷玖玖五月天| 国产97色在线 | 日韩| 婷婷五月丁香激情图片| 久久538| 五月婷婷丁香大香蕉| 欧美综合激情五月天| 欧美人人草草| 99热在线精品观看| 激情婷婷在线| 丁香六月婷婷综合| 十区AV| 欧美人人操| 九月丁香婷婷综合| 综合久| 开心 五月 综合| 丁香五月色| sisi热国产| 青青草伊人婷婷| 九九色热视频| 蜜桃婷婷狠狠久久| 超碰免费人人| 日本女天天爽| 91日在线视频| 亚洲欧美999| 国产av影片| 久久婷婷色| 综合亚洲五月天| www九九免费视频| 久久久精品人妻录| 99ri国产精品| 色五月婷婷综合在线| 97精品欧美91久久久久久久| 欧美成人AAA片一区国产精品| 四五月婷婷| 91嫩草国产线观看亚洲一区二区| AVDV久久| 婷婷五月综合在线| 91se视频| 亚洲国产99| 人人操91| 亚洲99热| 91碰碰视频| 亚洲综合丁香婷婷六月天| www.wuyuetian啪啪| 色偷偷色婷婷| 亚洲亚洲激情| 亚洲天堂青草| 五月婷婷影院| 久99热| h亚洲| 专区无日本视频高清8| 人妻操逼视频| 色婷丁香五月| 丁J香六月首页| 久久精典| 热热久久99| 亚洲综合成人网| 97男人天堂| 中文字幕成人| 视色综合| 亚洲色婷婷色| 性爱网六月丁香| 乱精品一区字幕二区| 99re这里只有| 五月天开心成人网| 影视av久久久噜噜噜噜噜三级| 亚洲人妻av伦理| 超碰资源在线| Va另类视频| 噜噜噜噜噜久| 人妻五月天激情开心网| 97色干| www.91九色| 人人操人人爱丁香五月| 婷婷丁香六月五月天| 国产超碰av| 99操| 91免费试看| 色综合久久久久| 亚洲天堂爱爱| 91人人爽久久涩噜噜噜| 五月丁香综合网色欲| www,超碰| 婷婷狠狠狠爱| 97色干在线观看| AV九九| 精品婷婷| 九九色综合网| 天天久综合| 亭亭色天香| 欧美在线骚货| 91人人操人人| 99视频35精品视频在线观看| 成人在线免费网址| 久久五月婷天天干| 亚洲第一综合| 六月丁香五月天| 91狠狠色丁香婷婷综合久久精品| 丁香婷婷视频在线| 五月激情六月综合| 五月婷婷欲色| 五月六月激情| 五五月五月| 精品一区二区三区四区五区六区介绍| 亚洲激情综合| 91爱啪啪| 九九色色| 亚洲AV网站| 亚洲色久| 99免费热视频在线| 在线观看996精品| 五月婷婷|欧美| 色婷婷综合丁香五月天| 色婷婷情片| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 奇米色大香蕉| 玖玖九九超碰| 婷婷五月天97干| 97luluse| 丁香操逼| 色婷婷精品视频| 久久婷婷夜| 久久9情免费| 丁香五月天AV在线 | 99久久激情视频| 99re热在线视频| 色五月婷婷网| 九九热精品| 四川女人毛多水多A片| 区欧美日韩成人| 亚洲区在线| 欧美成人日韩| 97干欧美| 九九九九九无码| 极品 少妇 内射| 开心色五月天久久久久久久| 丁香成人五月天| 亚洲无码99| 成片免费播放| 亚洲综合色网| 99久久国产综合精品五月天喷水\| www.丁香六月婷婷久久天堂影院.con| 色黄啪啪| 色婷婷9| 狠狠狠婷婷五月综合| 一本久久亚洲五月婷婷| 综合激情五月天六月婷免费视频| 综合激情视频| 丁香六月啪啪啪| 成AV人片一区二区三区久久| 一本色道久久88加勒比| 玖玖色资源| 亚洲欧美综合7777色婷婷| 丁香五月激情综合在线观看| 日逼免费视频| 五月婷精品| 五月天激情国产综合婷婷婷| 第四色激情网| 婷婷丁香无码专区| 婷婷综合日本| 成人小说 五月天 婷婷| 99热这里只有免费| 99色性爰网络| 影音先锋秋秋五月婷婷| 超碰免费大香蕉| 丁香色情五月天| 丁香五月六月综合欧美| 99热日本| 26UUU精品一区二区| 激情超碰网| 久久9精品| 九月停停| 久久久999精品| 日本激情五月| 人人摸人人操人人爽| 日韩精品视频中文字幕| 五月丁香婷婷综合视频| 婷婷五月激情欧美大胆视频| 97干综合网| 久久久91精品| 久久九九爽| 色综久久久| 99久热| 亚洲色色色| 嫩草视频在线观看| 亚洲第一色区| 99成人| www.9797国产| 婷婷五月色網站| 久久激情五月婷婷| 91色在线 | 日韩| 婷婷久久国产视频| www.狠狠| 日本少妇AA一级特黄大片| 亚洲婷婷开心五月| 伊人久久大香线蕉av一区| 欧美,日韩成人在线| 天天操夜夜爽天天操| 性生活久久人妻| 亚洲无码色色| 伊大人久久| 久久五月天激情视频| 97操视频| www.婷婷,com| 五月色网| 五月伊人91| 狠狠色五月激情| 99免费在线| 婷婷五月天中文字幕| 五月丁香五月婷婷在线观看| 成人视频网| 九九热视频网站| 婷婷五月天堂| 午夜激情综合| 五月天婷婷乱论小说| 久久99精品久| 五月丁香九九九综合| 五月婷婷色| www.激情五月天。com| 2017狠狠干| 久操人| 五月天综合视频网| 操草草草| 怡红院视频| 欧美在线ee日韩| 五月花丁香婷婷| 97久久人人人干| 久久五月天黄色五月天色网址| 亚洲综合九九| 色情婷婷| 婷婷婷婷色| 综合色情网| 中文字幕精品在线观看| 色婷婷激情| 激情人妻综合| 99久在线精品| 色五月天堂| 久久99综合| 国产激情综合五月久久| 丁香五月激情六月欧亚激情综合导航| 香蕉国产2013| 激情综合网五月在线播放| 五月婷婷色影院| 亚洲小视频免费播放| 久久性视频| 激情五月天噢美| 天天综合久久| www.色五月| 天天色天天爱天天舔| 日韩av变天就操逼不卡区| 中文字幕日韩无码制服诱或| 久久综合婷婷激情| 久久久精品色色色| 伊人玖玖网| 五月天伊人综合| 掩去也综合五月视频| 五月丁香婷婷色| 99热这里只有精品2024| 大香蕉色婷婷伊人在线| 婷婷久久色| 成人Av在线大片| 久久99热这里只频精品6学生| 九月丁香婷婷综合激情| 久久久久亚洲AV综合| 精品久久久久久久人妻| 免费AV在线| 六月婷婷av| 吊色AV男人的天堂| 香蕉操亚洲| 噼里啪啦在线观看免费完整版视频 | 无码色色色| 婷婷五月天成人动漫| 在线五月婷| 五月丁香在线观看| 激情五月天婷婷图| 国产精品日本一区二区在线播放 | 九九热超碰| 少妇搡BBBB搡BBB搡毛茸茸| 色婷婷五月天天天干天天操天天爽 | 日本精品在线噜噜噜| 亚洲黄色影视| 丁香六月婷婷姐网| 亚洲网视屏| 亚洲精品又粗又大又爽A片| 色婷婷五月天激情在线观看| 久久激情五月婷婷| 五月婷A V在线| 婷婷六月色开| 五月婷婷色播视频| 五月婷婷很很色| 超碰人人艹| 东北婷婷五月天| 国产av基地| 四LLL少妇BBBB槡BBBB| 五月天婷婷综合网| 丁香五月色情| 97se在线视频| 婷婷啪啪| 五月激情婷婷国产精品久久久久久| 99思思在线视频| 婷婷五月激情在线| 婷婷五月色播| 五月天激情无码| 久这里只有精品| 肏日网在线看| 国产AV一区二区三区最新精品| 六月婷婷在线视频| 天天日天天摸天天| 五月婷婷婷| 五月成人丁香av91| 99色综合| 久久九九大香蕉电院| 精品思思久久| 五月丁香久久婷| 日韩AV中文在线观看| 婷婷久久99| 五月丁香婷婷基地| 婷婷六月丁香激情综合| 热九九精品| 亚洲综合视频一下| 日日天天天| 色情综合| 9久久网| 午夜在线成人网站免费观看| 天天色天天日| 色丁香久久| 99精彩视频| 婷婷六月激情综合| 狠狠色丁香五月婷巨| 国产在线黄色| 一本久道综合99| 久久爱综合| 亚州男人天堂婷婷五月| 亚洲精品成人| 99热免费在线| 亚洲天堂啪啪| 91婷婷丁香五月| 五月婷婷六月情| 99热这里只有精品在线播放| 六月五月婷婷| 一本久久亚洲五月婷婷| 丁香婷婷精品视频| 99啪| 五月婷婷人人人操| 办公室少妇激情呻吟A片在线观看 白人荫道BBWBBB大荫道 | 婷婷深爱五月天在线| 五月天婷婷基地| 婷婷丁香成人| av九九| 色色五月丁香婷婷| 久操大| 夜夜久久综合网| 久久婷丁香五月| 午夜丁香综合婷婷| 婷婷欧美激情综合| √天堂资源在线人妻熟女| 美欧成人视频| 久久电影4399| 久久99网址| 成人av中文字幕| 97人妻碰碰碰久久香蕉| 亚洲av网站| 综合欧美五月婷婷| 无码九九| 青青草蜜臀| 狠狠操天天操综合| 新激情五月天色播| 激情六月丁香综合| 婷婷丁香一月| 色婷婷久久综合丁香五月| 激情网婷婷婷| 激情五月久久| 丁香五月天.com| 色五月天综合网| 办公室少妇激情呻吟A片在线观看| 国外亚洲成AV人片在线观看| 五月婷三级片| 国产综合A片| 五月婷婷色播| www,色婷婷| 婷婷五月天丁香花| 影音先锋 91工厂| 99爱视频在线免费观看| 五月婷婷六月丁香综合在线| 丁香伊人激情| 婷婷开心五月| 亚洲热久久| 欧美日韩欧美| 日韩美一级毛卡片| 97操资源婷婷| 玖玖99免费视频| 日韩狠狠色婷婷| 五月丁香色狠狠干大屄| 狠狠人人婷婷| 久草天堂| 精品香蕉99久久久久网站 | 九九热99在线视频| 婷婷九月丁香| 丁香婷婷啪啪| 久久婷婷亚洲五月天| 日本狠狠网| 日韩操人| 午夜伊人大香蕉| 97sese婷婷| 99热偷拍| av性爱在线| 91狠狠综合网| 婷婷色情 | 亚洲色另类| 操骚货在线| 99ri视频在线观看| 亲子乱AV一区二区三区下载| 午夜不卡成人一区二区| 超碰在线9| 五月天综合网| 偷拍91九色| 亚洲成色综合网站免费观看| 天天日夜夜曹| 中文字幕无码人妻少妇免费视频| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 九月色婷婷综合| 丁香五月婷婷啪| 色婷婷视频| 欧美激情综合色综合啪啪五月| 五月丁香婷婷色| 91久久久久久久久久| 色五月丁香六月资源站| 五月婷婷,六月丁香| 99精彩视频| 久久人操-久草婷婷-成人AV| 高清激情av在线观看| 啪啪小说五月天| 六月丁丁香| 任我鲁这里有精品视频| 99re这里只有精品免费| 大香蕉五月婷婷| 五月婷婷在线视频| 激情av在线| 五月天色婷婷激情| 色婷婷香蕉| 亚洲99综合| 成人在线99| 欧美情色电影一区二区| 蜜臀AV在线成人| 色欲久久久久久综合网综合网| 欧美三级巜人妻互换| 激情网战码亚洲A| 五月婷婷69| 丁香花综合永久入口| 婷婷亚洲丁香五月| 成人网址在线观看| 久久免费丁香| 这里只有精彩视频| 超碰亚洲欧美| 六月伊人婷婷| 91超级碰碰| 九九久久五月天| 我去色色网五雨天| 国产av一区二区三区| 亚洲色综合| 婷婷中文在线| 亚洲av午夜精品一区二区| 中文字幕乱轮| 丁香五月色情av| 熟女五月天久久综合| 丁香五月影院| 99热欧| 狠狠操狠狠爱| 五月丁香| 六月婷婷综合| 99精品在线| 99色网站| 天天狠天天狠| 人人摸人人摸| 欧美激情综合| 亚洲精品99| jiqingtaose五月天| 久久国产色| 第四色色六月色综合| 天天噜噜| 丁香激惜男女| 福利视频在线播放| mmm1717.6dbm人人爱人人操| 中文字幕欧美日韩VA免费视频| 丁香婷婷射| 久热在线中文字幕色999舞 |