日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[转载]谷歌地图下载

發布時間:2023/12/29 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转载]谷歌地图下载 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  關于如何將地球經緯度坐標系統轉換成程序中常用到的平面2D坐標系統,網上的文章很多,參考http://www.cnblogs.com/beniao/archive/2010/04/18/1714544.html(本文圖1 圖3來自此處).谷歌地圖采用的投影方式為“墨卡托投影法”(維基百科網址http://en.wikipedia.org/wiki/Mercator_projection),大概意思就是將地球放在一個圓柱中,讓地球赤道和圓柱壁相接觸,在地球中心放一盞燈,地球上的圖像在圓柱壁上會產生陰影,然后將圓柱壁展開,得到的一張“長方形地圖”即為轉換之后的平面2D地圖,描述很簡單,實際展開后的地圖還進行了其他處理。

圖1

  可以想象到,地球上的經度經過燈光的照射之后,在圓柱壁上生成的陰影應該是均勻分步的,而緯度就不一樣了,緯度經過燈光照射之后,離赤道越近的分布越密,離赤道越遠的分步越稀,到了地球兩極(南極和北極),就會趨向無窮稀,因此谷歌地圖并沒有包含地球兩極的區域(北邊到北緯85度,南邊到南緯85度,大概)。

  谷歌地圖包含的地球范圍為 經度:0度~東經180,0度~西經180(共360度),緯度:0度~北緯85,0度~南緯85(共170度)。注:以上0經度表示通過英國的本初子午線,0緯度指赤道。轉換成平面2D圖之后,原點(0,0)在左上方(跟程序中一致),用像素作為單位,這樣一來,地球上任何一個點(經度,緯度)都能轉換成平面2D坐標系統中的一個點(x,y),轉換算法已經提供了,直接可以拿來使用。前面說到,經度和緯度在圓柱壁上的陰影分步密度不同,緯度遠離赤道分步越稀,因此,雖然經度范圍為360度(-180~180,西經為負,東經為正,自西往東,經度越來越大),遠遠大于緯度170度(-85~85,南緯為負,北緯為正),但是映射到圓柱壁之后生成的圖片的長寬卻是相等的(這個也有后期經過處理的原因),實質上,谷歌地圖的長寬確實是相同的。

  由于平面地圖是可以放大縮小的,因此地圖不可能使用同一張圖,這樣放大后就會失真,谷歌地圖的做法就是給地圖預先定義縮放等級(0級~22級,常用的0~17),每一個縮放級別均對應許許多多的小方塊圖片(稱為瓦片),這些小方塊都是256*256像素,然后將這些瓦片拼接起來生成一張大的清晰的地圖。谷歌地圖的縮放級別與瓦片數目有一個對應關系:瓦片數目=2的n次方*2的n次方(n為縮放級別)。也就是說,當縮放級別為0時,整個世界地圖只1*1張256*256的圖,當縮放級別為1,整個世界地圖包含2*2張256*256大小的圖,當縮放級別為2,整個世界地圖包含4*4張256*256大小的圖。下圖為縮放級別為0時,坐標對應關系:

圖2

當縮放級別改變時,整個世界地圖組成變化如下圖:

圖3

  谷歌地圖背景顯示原理就是將每個縮放級別下的瓦片下載下來,然后拼接在一起,如果我們知道了下載瓦片的方法,那么我們也能模擬一個類似谷歌地圖的顯示界面。下面提供的一個demo演示了如何根據你提供的兩個經緯度點(左上角,右下角),以及縮放級別,下載這兩點包含區域的瓦片,最后拼接起來。

demo不做過多說明,代碼中注釋很詳細,注意一下幾點:

(1)谷歌地圖提供API,通過http請求,給出瓦片的列、行以及縮放級別,就可以下載對應的瓦片,

國內地址:http://mt0.google.cn/vt/lyrs=m@234000000&hl=zh-CN&gl=CN&src=app&x=0&y=0&z=0

國外地址:http://mts0.googleapis.com/vt?lyrs=m&x=0&y=0&z=0

其中,地址前面的mt0可以是mt1、mt2、mt3,分別為不同服務器,對應的,mts0可以為mts1、mts2、mts3。x、y、z分別表示瓦片的列號、行號以及縮放級別。

lyrs表示地圖類型:

m:路線圖

t:地形圖

p:帶標簽的地形圖

s:衛星圖

y:帶標簽的衛星圖

(2)demo中填寫的左上角和右下角點的經緯度范圍分別為(-180~180)和(-85~85),而且左上角點的經度一定要小于右下角的經度,左上角的緯度一定要大于右下角的緯度,至于為什么,原因就是必須能通過這兩點確定一個區域。demo程序中未作判斷。

(3)不要選擇區域過大,或者縮放級別過大,因為包含的要下載瓦片太多,程序沒做任何性能優化,可能出現bug。線程不宜太多,太多反而速度慢。如果下載圖片有失敗的,可以重新下載幾次,可以完善一下,比如只下載上次失敗的圖片。

(4)demo針對google map,其他地圖類似。本人公司實際項目中用到了從谷歌地圖中下載下來的這些瓦片,模仿谷歌地圖顯示原理做了一個地圖顯示模塊。

效果圖:

圖4 demo主界面

圖5 下載完成的瓦片

圖6 拼接瓦片成一張大圖

源碼下載地址:http://files.cnblogs.com/xiaozhi_5638/GoogleMapDownLoader.rar

VS2010 win7調試通過,希望有幫助!

轉載于:https://www.cnblogs.com/yhlx125/articles/3633091.html

總結

以上是生活随笔為你收集整理的[转载]谷歌地图下载的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美八区| 91色爱| 亚洲午夜在线观看 | 精品欧美一区二区精品久久 | 成全影视在线观看第8季 | 国产综合自拍 | 性视频一区 | 美国一区二区三区 | 国内三级视频 | 亚洲一一在线 | 欧美一区二区三区激情 | 毛片基地免费 | 午夜试看120秒 | 国产精自产拍久久久久久蜜 | 欧美一区免费观看 | 久久久久久久久久网站 | 成人av电影免费观看 | 麻豆天天躁天天揉揉av | 天天干,天天操,天天射 | а√在线中文网新版地址在线 | 超碰在线日韩 | 91久久国产精品 | 高清不卡视频 | 国产99久久久国产精品免费看 | jizzjizz亚洲 | 成人一级片视频 | 波多野结衣乳巨码无在线观看 | 亚洲高清视频一区二区 | 久99久视频| 日韩伊人久久 | 黄色图片小说 | 欧美成人一二三区 | 国产精品xxx在线 | 综合视频在线 | 波多野结衣在线免费观看视频 | 91丨九色丨蝌蚪丨老版 | av片大全 | 91久久精品国产91性色tv | 免费黄网在线看 | 精品国产伦一区二区三区 | 欧美日韩亚洲一区二区三区 | 九九九九精品九九九九 | 欧美jizzhd精品欧美18 | 国产伦精品一区二区三区视频孕妇 | 在线色站 | 国产日韩精品一区二区三区在线 | 天堂资源地址在线 | 国产精品日韩欧美大师 | 无套白嫩进入乌克兰美女 | 五月婷婷天堂 | 亚洲狠狠婷婷综合久久久久图片 | 亚洲午夜福利一区二区三区 | a级大片免费看 | 免费h片在线观看 | 熟妇人妻系列aⅴ无码专区友真希 | 欧美日韩国产精品综合 | 国 产 黄 色 大 片 | www.成人免费 | 澳门色网 | 国产制服在线 | a级片免费播放 | 超碰人人人人人 | 91视频在线视频 | 欧美多p| av成人免费在线观看 | 色久综合| 日本成人一区二区三区 | 久久久18禁一区二区三区精品 | 日韩一区二区三区不卡 | 日本aa大片| 91成人免费看片 | 色婷婷综合久久久久中文字幕 | 日本久久高清视频 | 国产女人在线 | h片在线免费看 | 亚洲三级网站 | 最新黄色av | 中文字幕一区二区三区精华液 | 国产精品人妻 | 国产精品嫩草69影院 | 五月深爱网| 欧美视频一区在线观看 | 91亚洲国产成人久久精品麻豆 | 亚洲国产精品一区二区久久hs | 亚洲天堂免费在线 | 黄色av网站在线观看 | 中文字幕av亚洲精品一部二部 | 国产乱码精品一区二区三区中文 | 国产91清纯白嫩初高中在线观看 | 日本十八禁视频无遮挡 | 国产二区三区 | 一区黄色 | 日韩精品视频三区 | 国产人人爱| 一级片免费观看视频 | 青青草国产一区二区三区 | 在线看片中文字幕 | 2019中文字幕在线视频 | 国产极品久久久 |