国产精品成人小电影在线观看,久久成人国产精品一区二区,国产成人自拍视频在线观看,亚洲国产成人久久综合碰碰动漫3d

COMPANY NEWS

行業動態
手繪地圖制作的關鍵點之“圖層覆蓋”

發布時間:2022/08/15 點擊數:2258

前面介紹了《景區手繪地圖(電子地圖、智慧導覽系統)如何制作》以及《景區手繪地圖的繪制流程》,接下來介紹一些手繪地圖制作的關鍵點。

作者:輕輕的煙霧(微信:z281099678)

手繪地圖最關鍵的一點,就是把手繪地圖準確的覆蓋到地圖平臺。


手繪地圖體驗


一、地圖開放平臺接口


這是首要的關鍵點。

通過前面的介紹,我們知道,手繪地圖是基于地圖平臺針對某一區域進行美化及手繪,從而生產一張精美的手繪圖片文件。但這個文件并不能拿來直接使用,而必須要覆蓋到地圖平臺之上才可發揮其價值。

要實現這個目的,我先簡單介紹幾個概念(這些概念在前面的文章都有比較詳細的介紹,這里只做簡單的回顧):

1.瓦片圖

瓦片圖是256像素的正方形圖片,整個地圖都是由瓦片圖構成的。用瓦片圖原因是,可按需要加載(按屏幕顯示范圍內的區域加載),解決的問題是,服務器及客戶端設備內存問題,以及網絡流量問題。

2.地圖開放平臺

高德、百度、騰訊、谷歌等等地圖平臺,都有開放的接口。通過這些開放接口,便可實現讓手繪圖覆蓋到地圖平臺上。

高德地圖demo


二、手繪地圖覆蓋到地圖平臺的方式


每個地圖開放平臺都提供了多種把手繪地圖覆蓋到平臺的實現方式。

此處以高德地圖為例說明。高德地圖一共提供了這么多接口,分別都可以實現自定義圖層覆蓋到地圖平臺:

AMap.TileLayer.Flexible AMap.ImageLayer AMap.CanvasLayer AMap.VideoLayer AMap.CustomLayer

根據我的經驗,在手繪地圖覆蓋這個場景,比較適用的是:

AMap.TileLayer.Flexible AMap.ImageLayer

這兩個接口,分別對應上文描述的“瓦片圖實現地圖”及“一整張圖實現地圖”。ImageLayer這個接口,可以實現把整張手繪地圖覆蓋到地圖平臺上。事實上,依我的了解,業內也有采取這個解決方案的系統。但是就個人而言,我更推薦接口TileLayer.Flexible,此接口就是采取瓦片圖的方案來把手繪地圖覆蓋到地圖平臺。

ImageLayer接口代碼如下所示(高德官方代碼),由其圖片參數可見,是一張整圖:

 
var imageLayer = new AMap.ImageLayer({ url: 'http://amappc.cn-hangzhou.oss-pub.aliyun-inc.com/lbs/static/img/dongwuyuan.jpg', bounds: new AMap.Bounds( [116.327911, 39.939229], [116.342659, 39.946275] ), zooms: [15, 18] });

TileLayer.Flexible接口代碼如下所示:

 
var tileLayer = new AMap.TileLayer.Flexible({ cacheSize: 30, zIndex: 200, createTile: function (x, y, zoom, success, fail) { var imagePath = tileHost + '/uploades/map/" + zoom + "/tile" + x + "_" + y + 'amap.png'; var img = document.createElement('img'); img.onload = function () { success(img); }; img.crossOrigin = "anonymous"; img.onerror = function () { fail(); }; img.src = imagePath; success(img); } });

此接口有createTile方法,開放了3個參數,就是至關重要的地圖層級zoom,以及瓦片圖的坐標x/y。通過這3個參數,我們就可以把整張手繪地圖切為瓦片圖來覆蓋到地圖平臺之上,達到用戶使用時也按需加載的效果。

三個參數決定瓦片圖


三、更復雜和完善的手繪地圖覆蓋的效果


高德地圖的TileLayer.Flexible接口還有一個參數,便是success這個函數。在createTile方法里,我們其實還可以自定義更加復雜的內容,然后傳入success這個函數,高德地圖會自動把傳入的對象渲染到瓦片里。

根據這個原理,我們可以實現更加復雜的需求,如:因為國內無法正常訪問谷歌地圖,而高德、百度等地圖在國外訪問網絡延遲嚴重且地圖數據欠缺,所以對于國外的區域或景區這種場景,我們就可以通過此接口實現全球可訪問的手繪地圖。

具體的實現方式如下:

 
var tileLayer = new AMap.TileLayer.Flexible({ cacheSize: 30, zIndex: 200, createTile: function (x, y, zoom, success, fail) { var div = document.createElement('div'); var img2 = document.createElement('img'); img2.setAttribute("crossOrigin", 'Anonymous'); img2.onload = function () { div.appendChild(img2); }; img2.style = "position:absolute;width:256px;height:256px;z-index:-2;"; img2.onerror = function () { fail() }; img2.src = tileHost + '/uploades/map/' + zoom + "/tile" + x + "_" + y + 'amapgoogle.png'; var img = document.createElement('img'); img.onload = function () { div.appendChild(img); }; img.style = "position:absolute;width:256px;height:256px;z-index:-1;"; img.crossOrigin = "anonymous"; img.onerror = function () { fail() }; img.src = tileHost + '/uploades/map/' + zoom + "/tile" + x + "_" + y + 'amap.png'; success(div); } });

這樣就實現了加載兩個瓦片圖,重疊到瓦片區里。其中除了我們自己的手繪地圖的瓦片之外,另外的瓦片圖是谷歌地圖的底圖瓦片。

谷歌地圖在國內無法訪問,我們可以采用把它緩存到服務器的方案,這樣就可以達到國內能通過高德地圖來實現訪問谷歌地圖的底圖。而國外區域的用戶,則直接調用谷歌地圖。這樣實現國內國外均能訪問。

順便說一下,谷歌地圖的瓦片圖加載方案,也是大同小異的。

這里另外有一個需要注意注意的點就是,怎么判斷當前用戶是在國內還是國外。可以通過經緯度判斷,可以通過IP判斷。我建議通過經緯度,更加直觀明了且準確。但是中國的版圖區域,是一個很復雜的多邊形,因此,需要一些較為復雜的計算。這個點現在就不展開,后面有機會再細說。


復雜的多圖瓦片


四、手繪地圖覆蓋到平臺的關鍵技術點


通過上文可知,手繪地圖要覆蓋到平臺,最關鍵的點就在于瓦片圖的層級、x/y坐標。

而這一點,其本質又是手繪地圖所在區域的經緯度所決定的。

因此,在《景區手繪地圖(電子地圖、智慧導覽系統)如何制作》以及《景區手繪地圖的繪制流程》都有所提及或強調,手繪地圖底圖的獲取,可以基于系統直接下載。然后設計師在設計手繪地圖的時候,需要特別注意,不能隨意修改手繪地圖的像素尺寸。因為修改之后,就會導致區域發生變化,然后經緯度就會出現誤差。

在下載地圖底圖的時候,系統已知地圖的經緯度,因此系統在對完成的手繪地圖進行切片的時候,就會從默認記憶的經緯度開始計算,通過地球的經緯度、墨卡托坐標、像素偏移三者的轉換關系,計算出當前手繪圖層的第一張瓦片的偏移位置。找到此關鍵之后,后面切圖就非常簡單,只需要以256像素為依據,進行累加切圖即可。

這里需要注意的是,實際上256像素的瓦片,在手機上的顯示效果并不佳,看上去不是很清晰。這里涉及手機屏幕和PC屏幕硬件及顯示像素的差異原理。解決此問題不難,這里便不展開說明了。


瓦片圖準確覆蓋


五、更好的圖層加載體驗


因為手繪地圖打開之后,要加載的瓦片圖很多,即便是只加載可視區域內的瓦片圖,數量也是不少。因此,為了用戶在使用手繪地圖時有更好的放大、縮小查看的體驗,我們可以使用預加載瓦片圖方案。

具體的方案就是,系統在完成用戶當前所在層級的瓦片圖加載之后,便可以對相鄰的大一級和小一級的瓦片圖進行加載。因為知道當前層級的經緯度,因此也能計算出相鄰的兩個級別的經緯度,進而對相應的瓦片圖進行加載。加載之后,當用戶放大或縮小手繪地圖層級時,便可快速顯示瓦片圖而不需要再臨時加載,獲得“網絡更快”的體驗。

實現預加載的核心代碼:

 
for (x = xMin; x <= xMax; x ++) { for (y = yMin; y <= yMax; y ++) { if (preloadPics[x + '_' + y]) { continue; } preloadPics[x + '_' + y] = true; var picUrl = tileHost + '/uploades/map/'+ zoom +'/tile'+ x +'_'+ y +'amap.png'; (new Image()).src = picUrl; } }

預加載的兩個相鄰層級的瓦片圖


六、結尾


手繪地圖覆蓋到底圖的方式,其實還有更多,但根據我有限的經驗,覺得其他方式都沒有TileLayer.Flexible接口靈活和實用,因此不再過多贅述。

另外說一點,這個接口的復雜效果,個人經驗是高德地圖支持最完善。因此一直以來我都首推高德地圖作為手繪地圖平臺。

在本文最后,衷心感謝各大地圖開放平臺。他們提供了大量可免費使用的資源,使得無數企業作為服務商可以為更多各行各業的需求方提供各種各樣的解決方案,創造了難以估量的經濟價值,體現了大企業的責任和擔當。

最后,列一些開放地圖平臺文檔:

高德地圖:概述-地圖 JS API | 高德地圖API

百度地圖:地圖 JS API | 百度地圖API SDK

騰訊地圖:JavaScript API | 騰訊位置服務

谷歌地圖:https://developers.google.com/maps/documentation/javascript

更多
400-155-6865
国产精品成人小电影在线观看,久久成人国产精品一区二区,国产成人自拍视频在线观看,亚洲国产成人久久综合碰碰动漫3d

  • <center id="g59bs"><optgroup id="g59bs"></optgroup></center>
  • <span id="g59bs"></span>
    
    
    <label id="g59bs"><samp id="g59bs"></samp></label>

    国产精品一区免费在线观看| 99久久精品免费看| 国产suv精品一区二区883| 成人性生交大片免费看中文网站| aaa亚洲精品| 国产一区二区毛片| 91丨九色丨黑人外教| 国产一区二区三区黄视频 | 91蜜桃婷婷狠狠久久综合9色| 日韩av一区二区三区四区| 激情综合色综合久久| eeuss国产一区二区三区| 精品一区二区免费看| 成人av免费网站| 日韩av在线免费观看不卡| 久久av资源站| 日韩电影一二三区| www.欧美.com| 精品一区二区三区在线播放| 日韩精品一二三区| 成人午夜精品一区二区三区| 久久99精品一区二区三区三区| k8久久久一区二区三区| 国产精品一区在线观看乱码| 喷水一区二区三区| 91在线观看下载| 成人午夜精品在线| 国产激情视频一区二区三区欧美 | 丁香六月久久综合狠狠色| 日本vs亚洲vs韩国一区三区 | www.66久久| 风间由美一区二区三区在线观看| 国产在线精品一区二区三区不卡| 蜜桃久久久久久久| 免费久久精品视频| 免费观看30秒视频久久| 日韩成人av影视| 91蜜桃网址入口| 日韩中文欧美在线| 91玉足脚交白嫩脚丫在线播放| 国产成人99久久亚洲综合精品| 精久久久久久久久久久| 激情五月激情综合网| 久久国产人妖系列| 国产在线视频一区二区三区| 狠狠狠色丁香婷婷综合久久五月| 久久99最新地址| 激情伊人五月天久久综合| 国产在线视频一区二区| 国产精品18久久久久久vr| 国产乱码精品1区2区3区| 国产一区二区精品在线观看| 国产一本一道久久香蕉| 国产成人在线色| 成人亚洲一区二区一| 成人国产精品免费观看| 99国产一区二区三精品乱码| 日韩精品一卡二卡三卡四卡无卡| 天堂在线亚洲视频| 美女www一区二区| 国内外成人在线视频| 国产一区二区看久久| 粉嫩绯色av一区二区在线观看| 成人黄色av网站在线| 91浏览器在线视频| 久久精品国产99国产精品| 国产高清不卡二三区| 不卡欧美aaaaa| 奇米影视在线99精品| 国模一区二区三区白浆| 成人听书哪个软件好| 日韩一区精品字幕| 国产美女精品在线| 视频一区国产视频| 国内精品国产三级国产a久久 | 国产99久久久久久免费看农村| www.一区二区| 蜜桃视频在线观看一区二区| 国产成人av影院| 秋霞电影一区二区| 国产91丝袜在线18| 免费精品视频最新在线| 丁香婷婷综合五月| 精品一区在线看| 99久久久久久| 国产精品91xxx| 蜜臀久久99精品久久久画质超高清| 国产精品夜夜嗨| 免费久久精品视频| 97精品视频在线观看自产线路二| 久久成人久久鬼色| 成a人片亚洲日本久久| 92精品国产成人观看免费| 久久国产精品72免费观看| 成人av在线播放网站| 三级亚洲高清视频| 成人小视频在线观看| 韩国成人福利片在线播放| 97se亚洲国产综合自在线不卡| 加勒比av一区二区| 日韩av不卡一区二区| 成人小视频在线观看| 国产一区二区三区四区在线观看| 91日韩在线专区| 成人听书哪个软件好| 国产精一区二区三区| 六月丁香综合在线视频| 91麻豆国产自产在线观看| 成人免费高清视频| 国产成人亚洲精品青草天美| 麻豆成人免费电影| 日本中文字幕一区二区有限公司| 99视频精品免费视频| 国产成人综合自拍| 国产成人免费视频精品含羞草妖精| 蜜桃视频一区二区三区| 蜜臀av性久久久久蜜臀aⅴ流畅 | av电影一区二区| zzijzzij亚洲日本少妇熟睡| 国产suv一区二区三区88区| 国产精品中文字幕一区二区三区| 开心九九激情九九欧美日韩精美视频电影| aaa国产一区| 91麻豆精东视频| 日本女人一区二区三区| 91麻豆蜜桃一区二区三区| 91免费国产视频网站| 99精品国产一区二区三区不卡| 暴力调教一区二区三区| 99这里只有久久精品视频| av不卡免费在线观看| 99免费精品视频| 91免费看片在线观看| 91欧美一区二区| 男人的天堂亚洲一区| 麻豆精品一二三| 精品写真视频在线观看| 国产真实乱偷精品视频免| 国产精品自拍一区| 高清不卡在线观看| 91蜜桃婷婷狠狠久久综合9色| 日韩av成人高清| 精久久久久久久久久久| 成人免费观看视频| 视频一区在线视频| 韩国视频一区二区| 国产成人av一区二区三区在线观看| 成人v精品蜜桃久久一区| 99久久免费视频.com| 日韩**一区毛片| 国产在线不卡视频| 成人美女视频在线看| 91香蕉视频污| 国产综合久久久久久久久久久久| 国产a区久久久| 日韩国产精品久久久久久亚洲| 免费看精品久久片| 国产91高潮流白浆在线麻豆| 99久久精品国产导航| 美女视频黄频大全不卡视频在线播放| 国产一区二区不卡老阿姨| aaa国产一区| 精品一区二区三区欧美| 成人三级在线视频| 久久99久国产精品黄毛片色诱| 国产成人在线网站| 麻豆视频观看网址久久| 成人性生交大片免费看视频在线| 日韩电影免费一区| 国产精品18久久久久久vr| 日韩高清一区二区| 国产xxx精品视频大全| 麻豆视频一区二区| av在线不卡免费看| 国产盗摄视频一区二区三区| 日韩av网站在线观看| 成人美女视频在线看| 极品少妇xxxx精品少妇| 91免费视频网址| 成人污污视频在线观看| 极品销魂美女一区二区三区| 天堂一区二区在线| 成人av网址在线观看| 国产精品白丝jk黑袜喷水| 91浏览器在线视频| 国产一区二区福利视频| 免费看精品久久片| 91年精品国产| av一区二区不卡| 国产精品18久久久久| 韩国三级在线一区| 秋霞电影网一区二区| 91在线国产观看| 成人av第一页| 国产成人免费在线观看| 国内久久精品视频| 久久99精品网久久| 久久电影网电视剧免费观看| 日本系列欧美系列| 91美女福利视频| 91一区二区三区在线观看| 大美女一区二区三区| 国产精品一区二区三区乱码| 国内成+人亚洲+欧美+综合在线| 奇米影视一区二区三区| 91蜜桃婷婷狠狠久久综合9色| 99热99精品| 91啪九色porn原创视频在线观看| 99精品久久免费看蜜臀剧情介绍 | 国产精品中文字幕日韩精品| 韩日av一区二区| 国产一区二区调教| 国产精品中文字幕日韩精品| 国产精品2024| 成人免费毛片片v| av不卡免费电影| 91麻豆国产自产在线观看| 91视频.com| 蜜臀精品久久久久久蜜臀| 卡一卡二国产精品 | 国内欧美视频一区二区| 国产在线视频精品一区| 国产宾馆实践打屁股91| 成人网在线播放| 91麻豆国产精品久久| 日韩av一级片| 久久国产视频网| 国产成人在线看| 99天天综合性| 日韩电影免费在线看| 麻豆视频一区二区| 国产成人午夜片在线观看高清观看| 国产91综合一区在线观看| 菠萝蜜视频在线观看一区| 日韩电影在线一区二区| 久久99热这里只有精品| 粉嫩av一区二区三区| 丝瓜av网站精品一区二区| 蜜乳av一区二区| 国产一区日韩二区欧美三区| 懂色av一区二区三区蜜臀| 91免费精品国自产拍在线不卡| 久久福利视频一区二区| 丁香天五香天堂综合| 日本中文一区二区三区| 国产制服丝袜一区| 91丝袜呻吟高潮美腿白嫩在线观看| 麻豆精品国产传媒mv男同| 国产69精品一区二区亚洲孕妇| 91在线看国产| 国产一区在线观看视频| 91蜜桃免费观看视频| 国产伦理精品不卡| 日本亚洲三级在线| 国产99久久久国产精品潘金 | 国产一区二区网址| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产一区欧美一区| 91麻豆蜜桃一区二区三区| 国产一区二区精品久久99| 天堂av在线一区| 国产成人超碰人人澡人人澡| 日本亚洲三级在线| 成人动漫一区二区在线| 国内精品写真在线观看 | 青草国产精品久久久久久| 国产a视频精品免费观看| 国产麻豆一精品一av一免费 | 日韩一区精品字幕| 粉嫩欧美一区二区三区高清影视| 麻豆久久一区二区| 视频一区欧美日韩| 成人激情黄色小说| 国产精品91一区二区| 麻豆精品一区二区三区| 丝袜脚交一区二区| 92国产精品观看| 成人av电影免费在线播放| 国产精品影视网| 久久99国产精品久久99果冻传媒| 91蜜桃婷婷狠狠久久综合9色| 福利一区二区在线观看| 国产精品一卡二卡在线观看| 青娱乐精品在线视频| 91在线视频观看| 成人成人成人在线视频| 成人中文字幕在线| 久久精品国产免费| 免费黄网站欧美| 日本亚洲天堂网| 日本欧美一区二区在线观看| 天堂成人免费av电影一区| av午夜一区麻豆| www.欧美色图| 成年人国产精品| 成人av在线观| 99riav久久精品riav| aaa亚洲精品| 视频一区二区不卡| 日本 国产 欧美色综合| 日本不卡中文字幕| 久久99久国产精品黄毛片色诱| 理论片日本一区| 九九九久久久精品| 国产成人在线视频网址| 成人一区二区三区在线观看| eeuss鲁片一区二区三区在线观看| 波多野结衣在线aⅴ中文字幕不卡| 成人av网站免费观看| zzijzzij亚洲日本少妇熟睡| 99国内精品久久| 美女视频第一区二区三区免费观看网站| 免费在线成人网| 国产呦精品一区二区三区网站| 国产成人在线影院| 91在线看国产| 久久国产视频网| 国产精品456露脸| av成人老司机| 蜜臀99久久精品久久久久久软件 | 精品系列免费在线观看| 国产一区91精品张津瑜| 成人av免费观看| 六月丁香综合在线视频| 国产精品一区二区黑丝| 91麻豆国产福利在线观看| 韩国欧美一区二区| a在线欧美一区| 精品亚洲免费视频| av电影在线观看一区| 捆绑紧缚一区二区三区视频 | 免费成人av在线播放| 国产精品一二三在| 日韩精品福利网| 国产自产2019最新不卡| 91色综合久久久久婷婷| 国产精品资源网| 日本亚洲免费观看| 国产91丝袜在线观看| 秋霞国产午夜精品免费视频| 国产馆精品极品| 美国十次了思思久久精品导航 | 日本不卡一二三区黄网| 国产精品资源网| 蜜乳av一区二区| 97精品国产97久久久久久久久久久久| 麻豆一区二区在线| hitomi一区二区三区精品| 国产一区二区三区久久悠悠色av| 91麻豆高清视频| 国产成人啪午夜精品网站男同| 99久久婷婷国产综合精品| 国产精品1024久久| 蜜桃久久久久久久| 91老师国产黑色丝袜在线| 岛国av在线一区| 国产一区二区久久| 免费高清成人在线| 91蜜桃免费观看视频| 成人va在线观看| 国产成人综合精品三级| 老司机精品视频导航| 日韩成人一区二区| 91蝌蚪porny| 99在线热播精品免费| 成人激情小说乱人伦| 国产成人午夜精品5599| 国产伦理精品不卡| 国内精品免费**视频| 久久99精品国产麻豆不卡| 日本不卡123| 欧美aaaaaa午夜精品| 秋霞电影网一区二区| 日韩影院精彩在线| 91免费看`日韩一区二区| 99在线精品免费| 91亚洲精品久久久蜜桃网站 | 成人精品gif动图一区| 懂色av一区二区三区免费看| 国产精品1区二区.| 国产成人av资源| 成人国产精品免费观看动漫| 成人黄色小视频在线观看| 成人免费视频caoporn| 国产成人精品免费看| 国产suv精品一区二区883| 国产91精品一区二区| 国产91精品久久久久久久网曝门| 国产98色在线|日韩| 粉嫩绯色av一区二区在线观看| 国产成人福利片| www.一区二区| 日韩精品乱码av一区二区| 日本在线播放一区二区三区| 男男视频亚洲欧美| 久久国产福利国产秒拍| 国内精品久久久久影院色| 国产成人av电影| 99久久99久久综合| 美女在线视频一区|