免费国产精品自在自线-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
返回資訊列表
五月婷高清视频| 玖玖五月| 婷婷性爱| 色吧五月| 五月丁香狠狠| 综合色色综合| 日韩成人AV在线| 激情綜合網址| 噼里啪啦完整版中文在线观看| 婷婷久久综合久| 国产午夜精品一区二区三区四区| 99热网站| 欧美内射AA| 五月天婷婷久久| 丁香五月婷婷久久综合激情网 | 色色综合视频| 婷婷内射视频在线| 俺也去色| 日韩成人电影在线播放| 亚洲五月天狠狠| 国产九月婷婷| 九九九九这里只有精品| 丁香激情婷婷网| 影音先锋偷偷色男人站| 亚洲AV电影av| 国产精品18久久久| 大香蕉av在线| 中文av网| 丁香五月婷婷成人综合| 综合激情在线| 五月婷婷国产| 免费看欧美成人A片无码| 五月婷婷激情中文字幕| 99热这里有精品24| 九九久久99| 日日操夜夜撸| 五月激情视频| 国产一级视频a| 六月丁香五月天| 伊人久久大香蕉网| caop在线视频| 婷婷激情综合色五月久久图片| 久热九九| 五月激情在线| 五月花综合视频| 色综天天综合| 激情五月综合色婷婷| 九九热色视频| 婷婷久久大香蕉| 久草热8精品视频在线观看 | 五月天综合在线网| 丁香五月成人社区| 夜色综合网| 综合色五月天| 色婷婷五月天视频在线| 丁香五月色五月| 五月天影院婷婷在线观看| 色欲久久久久久综合网综合网| 超碰2021| 亚州成人综合在线| 99热99| 精品一二三区久久AAA片| 久草热在线视频| 婷婷五月天堂| 五月婷婷丁香综合| 双性美人被调教到喷水A片| 丁香六月激情综合| 日日操夜夜撸| 六月婷婷久久| 丁香久久| 国产精品久久久久9999小说| 久久精品天| 色色婷婷色色| 操操操av| 思思久久96热在精品国产,| 综合久久综合| 天天开心AV色综合婷婷五月天| 五月婷婷婷婷婷| 丁香五月六月婷婷怡红院| 激情五月,激情综合网| 六月天婷婷| 五月激情六月丁香| 99在线爽| 婷婷中文综合网| 99色.com| 久操大| 日韩黄在免| 天天久久婷婷| 91狼友视频在线观看| 丁香九月色| 香蕉网久久| 亲子乱AV-区二区三区| 亚洲六月色| 天天日天天色| 婷婷在线日韩综合| 国产又爽又猛又粗的视频A片| 人妻熟女一区二区AV| 91免费试看| 182TV亚洲| 任你日热视频| 丁香婷婷五月天校园春色| 婷婷色亚洲| 玖玖99免费视频| av大香蕉| EEUSS鲁片一区二区三区| 成人在线99| 九日日夜夜69| 婷婷大美在线| 第五色婷婷| 色五月婷婷五月天| 色吊丝av中文字幕| 婷婷射图五月天| 人人操日| 精品99在线看| 五月天伊人网| 欧美精品中文字幕亚洲专区| 五月丁香网视频| 五月天婷婷在线观看| www.婷婷.com| 婷婷丁香五月天影院 | 婷婷激情九月| 国产jd1024基地手机看国产| 五月色婷婷综合丁香精品无遮挡| 久久婷婷五月综合啪| 丁香五月婷婷基地| 在线国产精品色| 狠狠色婷婷丁香六月| 激情爱爱网站| 五月天激情四射网站| 狠狠干激情五月| 婷婷丁香五月亚洲| 激情九月婷婷| 操一区| 国产成人亚洲综合亚洲| 狠狠夜夜五月丁香| 操碰97| 亚洲网视屏| 婷婷丁香成人在线视频| www.色婷婷.com| av在线观看免费| 五月婷婷丁香五月婷婷丁香| 中文字幕综合| 色婷婷导航| 五月Huangsewang| 噜噜色天天开心| 99熟女视频| 婷婷激情综合色五月久久91| 激情五月五月五月婷婷| 婷婷激情97| 操丝袜视频影院导航| 在线观看欧美| www.色综合| 九九热10| 99精品人人| 99热成人| 九月激情网| 久久99精品久久久久久三级| w婷婷五月婷婷w| 狠狠色大香蕉| 《诡秘之主》在线观看 | 色九月| 五月婷在线观看| 丁香婷婷色情| 久久婷五月| 久人人操| 日韩久久色| 热日韩欧美| 日本欧美在线| 婷婷色网| 欧美色色网| WWW99视频| 99色在线观看视频| 五月香婷婷| 伊人五月综合网| 久久婷婷久久| 操人无码| 婷婷激情小说| 天天玩夜夜操天天爽| 综合五月婷婷| 思思热国产在线| 无遮挡国产高潮视频免费观看| 欧洲亚洲免费视频区| 九九九九毛片| 秋霞网在线观看理论91| 亚洲人妻电影| 嫩草AV久久伊人妇女超级A| 婷婷婷色五月| 久久婷婷免费| 日本在线视频www色| 丁香五月婷婷激情小说| 丁香五月激情久久麻豆| av性爱网站| 亚洲狠狠婷婷| 丁香,开心成人,久久| 色99网| 超碰人人艹| 日本不卡高字幕在线2019| 五月网激情| 九九日伊人| 色插综合网| 婷婷五月天渟渟| 久久99久久99精品免观看粉嫩| 天天日天天添| 91精品综合久久婷婷九色| 五月开心久久| 丁香五月综合激情性爱| 噜噜噜精品欧美成人在线观看| ..真实国产乱子伦对白在线_欧| 夜夜综合色| 免费在线观看av网站| 激情五月婷| 婷婷五月俺要去| 婷婷99视频在线| 久久婷婷五月综合| 日日撸日日操| 婷婷四月 成人 狠狠干| 丁香婷婷色| 久久久激情| 都市激情久久| 国产高清视频91九九九久久久| WWW,五月| 激情丁香婷婷| 婷婷色五月开心五月| 婷婷激情欧美| 99熟女视频| 午夜色婷婷| 五月激情婷婷丁香| 国产高清精品色| 婷婷五月激情四月综合| 九九99精品| 婷婷久久色| 婷婷色网站| 五月丁香六月婷婷久久久综合| 97综合在线| 99熟女啪啪视频| 字幕网AV中文字幕| 色婷婷综合久久| 成人 在线 日韩| 激情www| caopeng97日韩| 成人AV在线电影| 激情久久丁香| 色欲婷婷五月天丁香| 99爱在线| 天天综合色99| 97人妻碰碰碰久久| 婷婷色吧| 亚洲天堂热| 性爱五月丁香| 久热大香蕉| 站长推荐无码播放| 久久久久久综合88| 婷婷日在线观看| 99re热在线视频| 亚洲无码11| 亚洲婷婷基地| 五月婷五月婷伊人伊人五月婷| 五月色婷| 夜夜天天久久婷婷| 成人性爱无码| 婷婷五月精品中文字幕| 99爱视频在线观看这里只有精品| 久久久免费精彩视频| 亚洲六月色| 99热97| 日本五月天网站| 五月婷婷在线视频观看| 99热精品在线| 伊人激情AV一区二区三区| 国产午夜精品一区二区| 色五月首页| 五月综合久久| 国产成人精品一区二三区熟女在线 | 久久久99精品免费观看| 久久精品熟女亚洲AV麻豆| 丁香婷婷五月份| 亚洲免费综合一区| 国产在线黄色| 99成人精品| 26UUU精品一区二区Com| 婷婷 色 丁香 夜| 久久婷婷人人| 五月婷色| 二级黄色毛片| 性婷婷| 久久思思热视频| 五月天婷婷视频小说| 色99色| 色婷婷五月在线| 亚洲中文字幕在线观看| 国产99久9在线| 激情九月婷婷| 婷婷五月天在婷| 婷婷内射视频在线| 精品久久久中文字幕大豆网推荐理由| 丁香五月婷婷99| www.久久99| 五月婷色丁香| 五月天色图| 大地资源色婷婷视频在线| 97五月天婷婷| 二色av| 97碰碰碰免费公开在线视频| 吊色AV男人的天堂| 最新精品视频99| 夜夜爱网站| 亚洲综合另类| 色五月激情五月| 激情碰碰碰| 婷婷五月天综合网| 美女天天爽| av中文在线| 天天综合色99| 久久伊人日日夜夜| 五月婷综合| 91在线精品一区二区| 久久久999精品| 天天爽夜夜爽| 91久久婷婷| 狠狠久久婷| 另类五月婷婷| 夜夜躁爽日| 婷婷九月| 婷婷大香蕉| 99精品视频免费| 五月综合视频| 久久精品色| 久久九九色| 国产精品久久久久久久久久久久| 大香蕉AV在线| 色色色欧美| 婷婷五月开心六月AV| 新99思思视频| 国产九九一区二区三区| 久久婷鲁| 玖玖资源站视频| 婷婷久久综合| 欧美日韩大黄| 婷婷亚洲综合| 婷婷丁香五月天综合AV| 99久在线精品99re8热| 在线成人av播放| 青青五月天婷婷| 久久综合九九| 五月天激情图片| 激情丁香五月婷婷| 特级操b片| 五月六月婷婷| 国产91在线视频| 国产精品成人av在线观看春天| 伊人99热| 另类小说五月天综合网| 操B视频在线播放| 成人天天爽| 99爱爱| 色婷婷19| 九九精品热| 亚洲综合婷婷五月| 五月丁香婷婷综合网| 丁香九九九九| 99爱在线视频| 欧美综合婷婷欧美综| 婷婷五月天AV| 甈你aaaaa| 九九色婷| 国产无套精品一区二区| 六月婷婷综合久久| 深爱五月激情五月| 久久婷五月综合色| 色婷婷丁香AV综合| h亚洲| 91互操| 中文成人在线| 无码色色色色色| 激情六月天| 激情综合4月| 久/久精品99看9| 美臀自射自家人妻| 亚洲成人av中文| 99在热线免费视频| 性色人人爽| 超碰碰碰碰| 国产精品-91JQ就要激情网91JQ6.91JQ27.CASA:16888 | 97人人操人人干| 婷婷五月天综合网| 婷婷射图五月天| 91九色成人原创视频| 五月天激情综合网| WWW.五月天9999| 丁香狠狠干| 天天五月天综合网址| 日本啪啪网| 色综合久久久久| 婷婷五月天深爱| 91精品综合久久久久久五月天| 五月丁香六月激情综合| 伦乱美欧| 亚洲精品视频电影| 99热9| 开心五月激情婷婷| 色欲天天综合网| 色色欧美。| 亚洲成人av在线播放| 99碰碰碰| 五月丁香777| 人人人va亚洲视频在线| 五月天色色网站| 97夫妻超碰| 99re6久热只有精品6在线直播| 欧美日韩91| 亚洲在线免费成人| 婷香五月激情视频| 色综合色| 日逼免费视频| 亚洲色婷婷色| 天天干天天曰天天射| 99综合网| 人人综合久| www.五月激情红色| 琪琪理论片| 激情碰碰碰| 亚洲成人免费电影| 日本熟妇精品99| 99这里只有精品在线| 思思99久久| 五月婷婷啪啪啪啪| 五月丁香综合啪啪| 91成人品| 欧美超级视频97| 美国天天日天天操| 五月天激情网图片 - 百度| 激情五月婷婷视频一区二区三区| tingtingcaobi| 久久五月天婷婷| 婷婷色爱| 丁香五月亚洲AV| 91丨九色丨老农村| 99ri视频在线观看| 97色一二三| 免费无码毛片一区二区A片| 爽极品色| www.99热在线观看| 久久这里只有精品热在99| 天天综合亚洲综合| 青青草视频福利| 五月天色狠狠| 午夜理论片最新午夜理论剧| 五月天日日操夜夜操 | www.五月天色色.com| AA片在线观看视频在线播放| 五月天色五月| 久草A片| 九九热视频在线观看| 成人欧美Va| 精品人妻伦| 色播丁香| 99r这里只有精品哦| 这里只有精品视频222| 欧美精品啪啪| 成人在线视频网| 久99热在线观看| 99偷拍视频在线日本| 大大香蕉综合在线| 激情骚五月| 色碰97| 超碰人人在线观看| 久久久久久18| 婷婷色吧| 任你爽视频| 九九精品视频免费在线| 欧美欧盟性爱网| 好好干Av| 综合视频五月| 激情婷婷五月天日本系列| 五月婷婷激情四月| 99视频| 天天日天天操心| 伊人五月综合网| 色婷婷伊人| 大香蕉婷婷五月天| 丁香色五月 97干| 中文幕无线码中文字蜜桃| 久久在线视频免费观看| 色婷婷五月天av在线| 在线超碰免费| 丁香婷婷色| 欧美日本综合网| 丁香五月婷婷色综合基地| tingtingzonghewang| 天天檫天天爽| 免费AV在线| 精品人妻伦一二三区久久| 婷婷色婷婷| 影音 五月 婷婷 久久| 丁香五月综合激情久久潮喷| 99色视频在线观看最新| 欧美激情丁香五月天久久婷婷一区| 色播五月丁香综合| 天天插天天爽| 天天做天天爱天天高潮| 大香蕉久久伊人网| 欧美影院婷婷| 99惹精品视频| 狼人久草| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 国产一级片| 成人做爰A片免费看视频| 超碰操日| 人妻久久久久久久久妻久久久久久久久| 人人摸人人射| 亚洲激情综合网| 国产偷人爽久久久久久老妇APP| 久草婷妨| 天天上天天爽| 亚洲精品影视| 69精品无码一区二区三区| 五月丁香| 99精品在线| 激情网五月天| 97视频91| 夜夜夜夜夜操| 99久在线精品99re8热| 狠狠干夜夜干| 色色婷婷色色| 亚洲人妻五月丁香婷婷| 日日噜噜夜夜狠狠久久丁香五月| 亚洲九九婷婷| 可以直接看的AV网站| 97超碰人人操| 日本色色网站| 天天日,天天插| 日本天天操| 日韩精品超碰在线观看| 天天日日夜夜爽。| 日日躁夜夜躁狠狠久久AV | 大香蕉久久伊人婷婷五月丁香| 99久久免费精品| 超碰人人色| 9热在线观看| 天天舔天天摸天天透| 丁香婷婷五月| 丁香六月婷婷综合| 色播婷婷大香蕉| 丁香五月婷婷香| 婷婷色香六月综合激情| 99热这里只有精品中文字幕| 伊人激情综合网| 色色色色色网| 大香蕉人人人| 婷婷播5月| 丁香五月天大香蕉啪啪| 中国AV性爱观看| 九九激情网| 婷婷中文在线| 日韩无码成人电影| 九九九色综合| 五月天婷婷网站888| 无码人妻一区二区一牛影视| www.ppypp| 五月综合激情啪啪啪啪啪| mmm1717.6dbm人人爱人人操| 大香蕉久| 丁香五月天色| 五月婷婷激情| 热99久久这里只有精品| 97五月婷| 天天高潮夜夜爽| 第四色色六月色综合| 狠狠色综合网站| 国产高清av黄色看片| tingtingzonghewang| 男男野外做爰全过程69| 热久久视频99| 97色碰碰公开视频| 色播五月天激情| 五月婷婷深深爱| 五月婷婷久久大香蕉| 99a级片| 91丨九色丨高潮丰满日本| 成人av在线网址| 91碰| 影音先锋xfplay资源男人网| 少妇性BBB搡BBB爽爽爽视頻| 五月婷婷色情| 一区二区三区XXXXXX| 婷婷刺激综合| 99 热| 久久久99精品免费观看| 色五月第四色| WWW.久久久久久久| 中文字幕在线免费观看视频| 99热99精品在线观看| 99久久超级| 婷婷五月天开心网| 丁香六月婷婷开心| 久久久天堂国产精品女人| 五月天玖玖狠狠色色| 精品国产a| 国产婷婷综合| 色情丁香五月天| www.亚洲激情.com| 激情五月综合网最新| 夜夜骑日日操| 久久精品噜噜噜成人A∨色欲| 狠狠99| 综合欧美五月婷婷| 另类亚洲电影| 五月天啪啪啪| 26uuu另类亚洲欧美日本一| 大香蕉欧美在线| 青草五月天| 天天日婷婷| 久草性爱| 99re8热精品免费视频| 51XX午夜影福利| 欧洲激情五月天| 91久久久久久久91| 99久久国产宗和精品1上映| 久狠狠狠| 开心日韩丁香婷婷五月| 亚洲综合视频网| 极品人妻VIDEOSSS人妻| 丁香五月欧美激情| 。久久久久久久久久久久久久人妻| 性高潮久久久久久-九九九九九九九九九九热-成人AV | 婷婷六月亚洲综合| 丁香久久五月天视频在线观看 | 五月叮香啪| 思思国产99| 99色这里| 欧美视频五区| 五月婷视频在线观看| 俺去也综合| 五月婷婷开心网| 激情婷婷狠狠干| 久久永久视频| 欧美性交一区二区三区| 精品久久穴| 色区久久| 婷婷色五月激情强奸四射| 午夜电影网VA内射| 天天日夜夜B久久| 成人电影AV在线观看| 国产九月婷婷| 97色 五月天丁香| 亚洲五月天激情| 色婷精品91| 色五月婷婷一二| 综合五月天婷婷色| 欧美婷| 熟女乱论网| 亚洲AV免费在线| 偷偷操99| 另类 在线| www99xxxx五月丁| 思思久久久婷婷| 疯狂做受XXXX高潮A片| 三级黄网站| 丁香五月社区| 玖玖热视频| 五月天激情av| 国内精品玖玖| 婷婷五月天亚洲丁香| 俺五月| 停停色综合伊人| 开心亚洲久久开心| 夜夜天天久久婷婷| 玖玖精品视频99| 久久人妻乱子伦| 草操网| 婷婷丁香五月天综合网| 天天干天天日天天插 | 久久se 综合网 | av人人干| 激情五月婷黄版| 欧美激情VA永久在线播放| 深情五月天| 久久婷婷五月天激情唯美| 99热这里只有精品 搜| 麻豆五月丁香婷婷| 人人爱国产| 久久激情五月婷婷| 久久看婷婷| 丁香花色色网| www.天天干| 影音先锋91在线资源站| 最熟少妇乱码| 日本精品干| 欧美一级色| 成人片久久网站| 人人看人人草人人摸| 日韩久久这里只有精品| 亚洲色无码| 五月丁香婷婷导航视频| 99热国产精品| 色婷婷丁香A片区毛片区女人区| 国产69久久久欧美黑人A片| 666555。COm毛片| 五月天久草| 九色七七| 天天激情视频| 热99在线| 色99视频| 九九久久污| 久久性爱视频| 欧洲日韩一区二区三区| 日韩AAAAA| 成人丁香五月| 五月婷婷综合在线亚洲视频| 欧美丁香五月| 五月婷婷六月丁香综合视频在线| 常久最新免费的色吊丝| 日韩狠狠色| WWW.国产| 九九精品热播| 天天做天天双| 欧美啪啪9| 国产欧美日韩综合精品一区二区| 日本少妇AA一级特黄大片| 色色五月天婷婷| 操逼棍操逼| 九九aV| 中文字幕人妻一区二区| 亚洲五月婷婷| 午夜色丁香| 五月婷婷啪| 182无码| 婷婷丁香五月天婷婷| AAA亚洲AV| 久9热| 丁香六月天婷婷| 激情啪啪五月天| 五月婷婷在线视频| 变态 另类 在线| 99热99在线| 激情五月开心五月丁香五月| 欧美在线| 热九九精品| 久久婷婷综合五月天| 色婷婷丁香五月| 六月婷久久| 96五月丁香熟女| 国产精品久久欧美久久一区| 国産精品| 狠狠插狠狠插| 99re资源在线视频导航| 色色色在线播放| 亚洲中文字幕AV| 婷婷成人在线| 欧美激情综合色综合色| 六月丁香婷| 国产免费一区二区三区三州老师F1F1.CC| 天天舔天天插天天干| 91操人| 99在线视频免费| 开心激情网五月| 精品国产一区二区三区四区阿崩 | 26uuu亚洲欧美另类| 色五月大香蕉| 99ri在线观看视频| 丁香婷婷五月六月久久| 激情五月丁香色色去久久| 久狠日av| 91无码一起草| 婷婷五月天第四色| 国产精品天天狠天天看| 五月丁香婷婷成人伊人网| 99综合网| 综合激情网五月激情 | 99热综合| 日日干天天爽| 99久久99视频只有精品| 99热这里全是精品| 丁香六月开心| 精品色色| 六月婷婷狠狠色在线观看| 亚洲1区| 六月丁香视频网站| 丁香六月婷婷色XXXXX| 99热爱爱干干日| 色99网| 日韩婷婷五月| 丁香五月激情综合| 天天插夜夜爽| 久热re视频在线观看网站| 99在线看片| 九九操屄| 51avj视频大全| 丁香婷婷五月人体| 免费国产视频| 中文字幕成人| 内射爽无广熟女亚洲| 激情五月天无码| 99久操视频| 天天干狠狠| 激情综合网色五月| 91狠狠色丁香婷婷综合久久| 久久婷婷六月天| 成人国产欧美大片一区| 色性日本| 狠狠色狠狠爱| 99久久性爱| 五月花成人网| 激情网色五月| 丁香色综合| 99精品色色| 色婷婷很很十八禁| 99精品无码| AV色五月婷婷| 五月婷婷 婷婷五月 一区二区 久久久 | 国产精品久久久60086| 97超碰9久热婷婷热| 色婷婷综合影院| 狠狠爱综合| 亚洲字幕AV一区二区三区四区| AV79| 亚洲啪啪视频| 逼特逼在线免费播放| 这里只有精品在线视频在线观看| 亚洲成人影视在线观看| 中国女人内射6XXXXX| 丁香六月成人| 99色精品视频| 婷婷综合国产| 五月激情婷婷在线| 久久久久久丁香五月| 91狠狠综合网| 色五月婷婷7777| AA久久| 大狠狠在线| 99热1| 狠狠色噜噜狠| 九热...av| 狠色狠色狠色狠色狠色网| 九月色婷婷综合| 疯狂做受XXXX高潮A片动画| 亚洲欧洲中文日韩久久AV乱码| 亚洲性受XXXX五月丁香| 激情淫乱男女| 无码免费人妻A片AAA毛片西瓜| 色综合天天综合成人网| www.五月天性.com| 婷婷五月AV| 婷婷五月丁香综合瑟瑟| 996热| 丁香六月婷婷久久综合| 欧美黑人巨大猛烈cuckold| 黄网在线免费播放| 97日本在线播放| 99热最新| 欧美日韩成人高清在线| 蜜臀av在线成人电影| 久久激情视频99| www.色色com| 色婷婷性爱网| 91九色精品熟女内射| 六月婷婷视频| 婷婷五月天激情网站| 丁六月激情| 日本色频| 激情丁香社区| 久七香蕉| 激情丁香五月| 婷婷丁香18| 另类少妇人与禽zOZZ0性伦| 天天色图| 91人操人人人操人| www天天色天天射| 色五月色五天色情网| 色五月无码| 九九碰九九爱97超碰| 亚洲婷婷激情综合激情999精品| 无码人妻丰满熟妇奶水区码| 色婷五月| jiZZdr| 久久香蕉网| 4399在线日本A片| 99视频这里有精品| 色综合久久88色综合天天99| 超碰熟女拍拍| 五月婷婷综合潮喷| 影音先锋人妻出差| 色区域网站视频| 丁香五月综合在线播放| 午夜爱爱爱成人| 亚洲五月婷婷在线| 成人色五月天| 干婷婷五月天| 激情图片婷婷| 丁香五月综合福利视频导航| 丁香婷五月天| 丁香开心深爱| 丁香五月天五码婷婷| 久久五月丁香综合17C| 婷婷成人丁香色情基地30 | 日韩av大全| 欧美色色色| 九九色热视频| 婷婷丁香五月亚洲17cao| 草综合14| 九色视频91疯狂| 怡红院视频| 国产成人综合网| 最近中文字幕2019视频1| 一起草AV入口| 五月天另类小说久久小说网| 日本天堂网站99| 五月天基地| 9有码中文| 婷婷亚洲影院| 五月婷婷久久激情| 日日爽天天| 五月六月丁香激情| 伊人网大香| 色色国产| 婷婷丁香18| 日韩美女在线视频19| 在线观看欧美| .操區COm| 婷婷五月天a| 久色五月丁香视频| 欧美va在线| 国产精品久久久久久久久久 | 国产午夜伦鲁鲁| 操逼综合激情网| 婷婷五月天情色| 狠狠色婷婷| 天天狠狠色噜噜| 成人丁香五月天| 日本99热| 丁香五月婷婷av影院| 91视频久久久| 丁香六月婷婷缴情欧美| 99色免费视频| 超碰超碰在线| 欧亚成人A片一区二区| 欧美69色| 99亚色色色| 色区域网站视频| 五月久久婷婷丁香| 99热国品| 国产免费av在线| 天天爽天天日人人爱 | 亚洲五月婷婷| 夜夜撸日日骑| 婷婷五月天av| www.金莲av| 91色涩| 婷婷五月天熟妇| 99毛片| 激情5月婷婷| 97视频久久| 伊人色综在线| 久久性爱视频网站| 综合日本婷婷| 婷婷舔| 99热免费精品| 久久综合66| 色色色综合网| 99精品在线观看视频| 五月综合激情网| 九九人人自拍| 久热精品视频| 久久婷婷精品| 五月婷婷婷综合网| 96五月丁香熟女| 日日夜夜天天| 中文字幕黄色片| 久久婷婷五月天蜜桃| 色狠狠色噜噜AV天堂五区| 男人天堂99| 99免费在线| 久久综合九色综合97婷婷| 色综合久久44| 六月综合婷婷开心伊人| 欧美三级巜人妻互换| 亚洲网视屏| 色五月 五月婷婷| 99精日本久久| 69婷婷丁香午夜| 五月丁香777| 国产精品视频| 激情综合网五月| 亚洲传媒在线观看| 婷婷激情五月综合基地| 丁香五月天之婷婷影院| 91精品综合久久婷婷九色| 五月花综合视频| 综合AV网| 婷婷深爱五月天在线| 97色色色| WWW久久久| 综合色影院| 五月花激情网| 色五月丁香伊人五月| 五月丁香婷婷俺| av国产精品| 99热这里有精品6| 天天插天天干| 久久天天天| 色五月大香蕉| 亚洲精品视频在线播放| 97色热| 亚洲欧洲午夜成人精品av| 五月成人网站| www.久操| 激情五月婷婷丁香综合网| 99精品综合| 天天天天天天噜| 99热九九九九| 99精品亚洲| 99噜噜噜| 91综合色| 九色91国产| 色五月首页| 婷婷成人网五月天| AV九九| 五月天婷婷青青| 欧美三级巜人妻互换| www.丁香黄色五月天人与| 婷婷色影音天| 婷婷五月激情在线视频| aaaa.黄| 婷婷久久精品| 91精品久久久久| 亚洲综合五月天婷婷| 久久99热这里| 国产成人综合亚洲| 色丁香影院| 国产操肏网站| 婷婷久久亚洲| 色色综合日韩| 波多野结衣不卡AV| 久久婷婷五月天蜜桃| 六月久久婷婷| 国产日韩欧美性爱| 九九婷婷五月天影视| 亚洲区在线| 97偷拍在线视频| 色约约视频一区二区三区四区五区| 六月丁香婷婷综合狠狠爱夜夜爱| 人人性久久| 九九成人| 天天成人综合视频| 婷婷激情五月天激情小说 | 影音先锋四区| 玖玖99福利| 久久se 综合网| 日本狠狠色| 人妻狠狠操| www99精品日韩| www,com,五月色色| 婷婷激情五月天天天开心| AA片在线观看视频在线播放| 99久久激情视频| 亚洲综合久| 亚洲乱码日产精品BD| 26uuu国产| 五月丁香在线视频观看| 色五月丁香五| 9久久久久久久久久久| 欧美天天综合网站上去吧| 3DAV亚洲香蕉久久 一区二区| 五月天开心色情网| 天天日,夜夜爽| 五月丁香色综合| 另类天堂| 婷婷五月丁香六月| 激情深爱综合| 99热久久日本| 天天日天天插| 天天日日夜夜| 国产五月婷| 日韩人妻在线观看| 天天激情站| 色婷婷狠狠| 亚洲天天综合| 青青热久久综合| 五月婷婷精品| 久久思思热| 激情五月综合| 久久这里都是精品视频| 久久婷婷91| 激情综合文学| 99久热| 日韩av在线免费观看| 激情亚洲色图片丁香综合| 久久人人九九| 超碰在线资源| 婷婷97狠狠成人网站| 九九99精品视频| 丁香六月无码| 激情丁香五月婷| 99热在线观看精品| 亚洲在线网站| 蜜臀AV在线观看| 97干97色| 精品久久人妻| 丁香5月婷婷| 九九热视频网站| 久久激情五月天| 新男人天堂人妻| 少妇真实被内射视频三四区| 日韩成人无码人妻| 色亭亭五月天丁香综合AV - 百度 - 百度 | 天久综合91综合首页| 伊人五月天在线| 婷婷五月色激情欧美激情| 日本成人小说婷婷六月| 丁香香五月激情免费视频| 香蕉狠狠爱视频| 狠狠爱婷婷色| 久久亭亭电影| 中文字幕在线aⅴ免费观看| 色噜噜狠狠色综合日日| 日韩啪啪视频| 成人一级片| 久久小视频| www.色五月| 噜噜狠狠色综无码久久合欧美| WWW.99热| 99久久精品网| 思99热精品久久只有精品| 玖玖色资源站| 六月婷婷五月丁香首页| 丁香无月在线观看| 97人人干人人操| 亚洲av免费在线| 婷婷久久99| 国产avapp 网| 国産精品| 狠狠综合| 日韩啪啪网| 99五月丁香丁| 天天日日人| aaaaaa片| 婷婷瑟五月天久久综合| 狠狠色婷婷丁香六月| 五月天欧美 另类小说| 六月婷婷日| 影音先锋 婷婷| 丁香五月中文字幕久色| 99热99热不卡| 色五月人妻| 丁香五月色五月| 九九热九九| www.色婷婷.com| 成人精品在线观看| 国产精品久久久爽爽爽麻豆色哟哟 | 欧美韩国日本| 99燥99日| 激情综合另类| 99riAV国产精品视频| 色三级色三级| 99色在线视频观看| 五月婷久久| 极品五月天| 九九这里有精品| 黄色三级日本| 99视频自拍| 夜夜操加勒比| 任你干线上免费视频有3吗| 99色久| 操操啪| 狠狠色丁香婷婷基地| 久99热| 五月丁香六月色| 丁香五月婷久久| 4438亚洲欧美| 99热69| 色婷婷五月影视| wwwC0maV五月花| 亚洲天堂色色| 激情五月天婷婷| 啪啪日本欧美| 激情99| www.狠狠操.com| 天天插综合| 99性视频| 久久性都花花世界成人免费视频| 殴美日韩成人| www久久五月com| 亚洲va欧洲va国产va不卡| 成人丁香五月| 九九九激情网| 成人av在线网站| 亚洲综合干| 亚洲网站999| 六月丁香五月婷婷| www亚洲无码| 丁香六月婷婷一区| 久草五月天| 狠狠干婷婷| 色五月中文字幕| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 色欲丁香久久| 婷婷五月综合色拍| 色135综合网| 九色视频91疯狂| 激情五月色综合国产精品| 色99热| 玖玖91| 激情深爱综合| 五月天婷婷7米| 欧美性生交A片免费看| 狠狠色97| 久 久9 9 热 视 频| 日日干夜夜干| 精品久热69| 亚洲精品五月| 五月天啪啪啪| 综合激情肏逼网| 午夜婷婷六月天| 五月天激情网图片| 玖玖精品婷婷| 激情五月视频| 五月天婷婷综合网| 91日韩美女被插视频| 人人色AV| 天天色综网| 97电影99热| 日日艹思思热| 免费视频WWW在线观看网站| 亚洲热久久| 天天拍天天做视频| 五月丁香91| 超碰自拍天堂| 婷婷狠狠五月综合| 亚洲中文字幕网| 99热亚洲| 色婷婷五月天久久| 97操资源婷婷| 激情婷婷五月黑人| 99热精品在线播放| 亚洲中文字幕av| aaa久久| 伊人三级激情| 五月婷婷激情久久| 婷婷综合仓库中文| 中文不卡一二三区| 五月天色婷婷综合| 久久新地址| 久久99综合网| 欧美日韩五月婷婷| 五月天色婷婷伊人网| 色狠狠色综合久久久绯色aⅴ影视| 九九国产精视频| 天天色色天天| 婷婷综合五月| 91偷拍视频| 狼人婷婷综合| 天天爱天天狠天天透| 超热久碰.com| 99re6久热只有精品6在线直播| www.9色色色| 夜夜夜夜夜操| 黄色99热| 综合啪啪| 99热99久久| 日本久久高清| 婷婷中文字幕| 99re这里只有| 开心婷婷五| 少妇水多A片太爽了| 操逼123网| 99热国产在线|