国产久_亚欧精品一区_久久亚洲美女_99精品在线观看_日韩成人三级_久久精品久久久久

  谷歌離線地圖 教程

地圖投影

編輯時(shí)間:2017-03-06

投影

地球是一個(gè)三維球體(近似說法),而地圖則是一個(gè)二維平面。您在 Google Maps API 中看到的地圖與其他的

地球平面地圖一樣,都是地球在平面上的投影。簡單來說,投影可定義為緯度/經(jīng)度值在投影地圖的坐標(biāo)上的映

射。

Google Maps API 中的投影必須實(shí)現(xiàn) Projection 接口。Projection 實(shí)現(xiàn)必須能提供坐標(biāo)系之間的單向映射

和雙向映射。也就是說,您必須定義地球坐標(biāo) (LatLng) 和 Projection 的世界坐標(biāo)系之間雙向轉(zhuǎn)換的方法。

Google Maps 使用墨卡托投影法來根據(jù)地理數(shù)據(jù)創(chuàng)建地圖,并將地圖上的事件轉(zhuǎn)換為地理坐標(biāo)。您可以通過

 Map(或任何標(biāo)準(zhǔn)的基本 MapType)上調(diào)用 getProjection() 以獲取該投影。對于大部分用途來說,該標(biāo)

準(zhǔn) Projection 已經(jīng)足夠,不過您也可以定義和使用您自己的自定義投影。


實(shí)現(xiàn)投影

在實(shí)現(xiàn)自定義投影時(shí),您需要定義以下內(nèi)容:

  • 用于實(shí)現(xiàn)緯度和經(jīng)度坐標(biāo)與笛卡爾平面之間雙向映射的公式。(Projection 接口僅支持向直線坐標(biāo)的轉(zhuǎn)換)。


  • 基本圖塊大小。所有圖塊必須為矩形。


  • 縮放級別為 0 且使用基本圖塊集的地圖的“世界大小”。請注意:對于縮放級別為 0 且僅由一個(gè)圖塊構(gòu)

    成的地圖,其世界大小和基本圖塊大小是相同的。

投影中的坐標(biāo)轉(zhuǎn)換

每個(gè)投影都提供了兩種方法,讓您可以在地理坐標(biāo)和世界坐標(biāo)這兩個(gè)坐標(biāo)系之間進(jìn)行轉(zhuǎn)換:

  • Projection.fromLatLngToPoint() 方法將 LatLng 值轉(zhuǎn)換為世界坐標(biāo)。此方法用于在地圖上定位疊層(同


  • 時(shí)定位地圖本身)。


  • Projection.fromPointToLatLng() 方法將世界坐標(biāo)轉(zhuǎn)換為 LatLng 值。此方法用于將地圖上發(fā)生的事(如



    點(diǎn)擊)轉(zhuǎn)換為地理坐標(biāo)。


Google Maps 假設(shè)投影是直線的。


    通常,您可以在兩種情況下使用投影:創(chuàng)建世界地圖或創(chuàng)建局部區(qū)域地圖。在前一種情況下,您應(yīng)確保

投影在所有經(jīng)度上都為直線且與經(jīng)度垂直。某些投影(尤其是圓錐投影)可能為“局部垂直”(即指向北方),

例如,當(dāng)該地圖定位相對于某些參考經(jīng)度較遠(yuǎn)時(shí)就會偏離正北。您可以在局部區(qū)域使用此類投影,但請注意,該

投影肯定是不精確的,且越偏離參考經(jīng)度,轉(zhuǎn)換誤差就會越明顯。

投影中的地圖圖塊選擇

    投影不僅可用于確定位置或疊層的位置,還可用于定位地圖圖塊本身。Maps API 使用 MapType 接口

來呈現(xiàn)基本地圖,該接口必須同時(shí)聲明 projection 屬性(用于識別地圖的投影)和 getTile() 方法(用于

根據(jù)圖塊坐標(biāo)值檢索地圖圖塊)。圖塊坐標(biāo)以您的基本圖塊大小(必須為矩形)和地圖的“世界大小”(縮放級

別為 0 時(shí)的地圖世界的像素大?。榛A(chǔ)。(對于縮放級別為 0 且僅由一個(gè)圖塊構(gòu)成的地圖,其圖塊大小和世

界大小是相等的)。

您可以在 MapType  tileSize 屬性內(nèi)定義基本圖塊大小。在投影的 fromLatLngToPoint() 

fromPointToLatLng() 方法中隱式定義世界大小。

由于需要根據(jù)這些傳遞的值選擇圖像,因此,為圖像命名可方便系統(tǒng)基于給定的傳遞值以編程方式選擇圖像,如

map_zoom_tileX_tileY.png。

常見投影 墨卡托  經(jīng)緯直投,由于谷歌地圖API本身就是墨卡托投影,所以此處給出加載 經(jīng)緯直投 方式

的加載瓦片算法(加載天地圖的經(jīng)緯直投瓦片)


function BigeMap() {

}
BigeMap.prototype.tileSize = new google.maps.Size(256, 256);
BigeMap.prototype.maxZoom = 19;
BigeMap.prototype.minZoom = 1;
BigeMap.prototype.name = "本地地圖";
BigeMap.prototype.getTile = function (coord, zoom, ownerDocument) {
   
var img = ownerDocument.createElement("img"),url='',server = Math.floor(Math.random() * 8);
   
img.style.width = 256 + "px";
   
img.style.height = 256 + "px";
   
url='http://t' + server + '.tianditu.cn/cva_c/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=cva&tileMatrixSet=c&TileMatrix=' + zoom + '&TileRow=' + coord.y + '&TileCol=' +coord.x + '&style=default&format=tiles';
   
img.src=url;
   
var bg='http://t' + server + '.tianditu.cn/vec_c/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=vec&tileMatrixSet=c&TileMatrix=' + zoom + '&TileRow=' + coord.y + '&TileCol=' + coord.x + '&style=default&format=tiles';
   
img.style.backgroundImage='url('+bg+')';
   
return img;
};

BigeMap.prototype.projection ={
   
fromLatLngToPoint: function(latLng) {
     
return new google.maps.Point(
          256
* (0.5 + latLng.lng() / 360),
          128
*(90 - latLng.lat()) / 180
          );
   
},
   
fromPointToLatLng: function(point, noWrap) {
     
return new google.maps.LatLng(
        90
- point.y / 128  * 180 ,
       
-180 + point.x / 256 * 360,
        noWrap);
   
}
}
;



国产久_亚欧精品一区_久久亚洲美女_99精品在线观看_日韩成人三级_久久精品久久久久
<code id="kseui"><acronym id="kseui"></acronym></code>
  • <abbr id="kseui"><tbody id="kseui"></tbody></abbr>
  • <button id="kseui"></button>
  • 欧美一区三区二区在线观看| 欧美日韩系列| 欧美特黄一级| 久久99欧美| 亚洲在线国产日韩欧美| 一本久道久久综合狠狠爱亚洲精品| 国产精品社区| 欧美久久影院| 亚欧洲精品在线视频免费观看| 91传媒免费看| 中文日韩在线| 国产精品hd| 一本色道久久99精品综合| 成人3d动漫一区二区三区91| 亚洲成人自拍视频| 制服国产精品| 图片区小说区区亚洲五月| 国产一区自拍视频| 久久亚洲图片| 欧美综合77777色婷婷| 在线观看成人av电影| 椎名由奈jux491在线播放| 久久精品日产第一区二区三区 | 国内久久视频| 一区二区三区电影| 日韩中文字幕一区二区| 久久久久久久免费| 国产伦精品一区二区三区四区免费 | 亚洲精品久久区二区三区蜜桃臀| 国产乱码精品一区二区三区不卡| 亚洲深夜影院| 国产精品毛片一区二区三区| 激情综合中文娱乐网| 国产精品大全| 一区二区亚洲| 亚洲日本激情| 在线观看成人av电影| 国内综合精品午夜久久资源| 欧美有码视频| 韩国在线视频一区| 国产在线欧美| 亚洲精品九九| 亚洲制服av| 老司机精品导航| 91嫩草在线| 国产日韩久久| 欧美激情导航| 亚洲欧美日产图| 欧美二区视频| 亚洲精品三级| 玖玖视频精品| 国产欧美综合精品一区二区| 精品成人在线| 99精品99| 美女91精品| av资源站久久亚洲| 蜜桃91精品入口| 亚洲高清乱码| 亚洲午夜在线观看| 亚洲综合国产激情另类一区| 1卡2卡3卡精品视频| 国产一区在线免费观看| 日本精品二区| 国产一区观看| 久久久久久黄| 日本黑人久久| 一区二区三区国| 妖精视频成人观看www| 91久久精品一区二区别| 免费看污久久久| 亚洲一区二区在线免费观看| 亚洲性视频h| 999视频在线观看| 欧美极品一区二区| 欧美/亚洲一区| 夜夜嗨网站十八久久 | 中文字幕一区二区三区最新| 亚洲理伦在线| 久久精品综合一区| 欧美成人久久| 91久久国产综合久久蜜月精品 | 国产麻豆日韩| 欧美黑人xxxxx| 亚洲第一精品影视| 国产精品污www一区二区三区| 日韩欧美激情一区二区| 最新日韩欧美| 精品乱码一区二区三区| 欧美国产精品| 99久久精品免费看国产一区二区三区| 欧美午夜精品久久久久免费视| 欧美国产视频在线观看| 久久久久中文| 亚洲五月六月| 99久久久久国产精品免费| 亚洲人成网站在线观看播放| 国产美女诱惑一区二区| 午夜精品福利一区二区| 亚洲欧美成人综合| 亚洲一区精品视频| 久久精品综合一区| 欧美激情综合| 久久久久久久久久久久久久久久av| 欧美视频不卡| 日本不卡一区二区三区在线观看 | 欧美裸体网站| 一区二区三区av| 亚洲人成网站在线观看播放| 91黄色国产视频| 欧美精品人人做人人爱视频| 99精品免费视频| 亚洲欧美电影在线观看| 成人欧美一区二区三区视频| 亚洲天堂久久| 性欧美大战久久久久久久免费观看| 久久久777| 日韩天天综合| 综合操久久久| 欧美主播一区二区三区美女 久久精品人 | 欧美国产三区| 欧洲亚洲一区二区| 国产精品久久一区二区三区| 一区二区亚洲精品| 亚洲 国产 日韩 综合一区| 高清国产在线一区| 国产一区二区高清视频| 欧美日本一区二区视频在线观看 | 国产精品亚洲不卡a| 亚洲欧美日本国产专区一区| 欧美+亚洲+精品+三区| 免费一区二区三区| 国产91aaa| 久久久精品国产一区二区三区| 伊人久久大香线蕉综合热线| 亚洲一区二区三区涩| 蜜桃日韩视频| 精品综合在线| 国产精品久久久久久久免费大片 | 免费在线亚洲欧美| 亚洲看片免费| 亚洲大黄网站| 亚洲国产一区二区在线| 欧美日韩在线一二三| 资源网第一页久久久| 色一情一乱一伦一区二区三区丨 | 一本久道久久久| 在线播放不卡| 日韩一区二区久久| 国产精品magnet| 欧美日韩亚洲一区三区| 欧美激情自拍| 国内精品久久久久久久果冻传媒| 欧美激情偷拍| 最新精品视频| 欧美日韩无遮挡| 狠狠综合久久| 亚洲精品麻豆| 香蕉久久夜色精品| 久久精品观看| 成人精品一二区| 久久大香伊蕉在人线观看热2| 精品亚洲欧美日韩| 欧美一级二级三级九九九| 日韩免费三级| 午夜久久黄色| 99精品免费视频| 久久一二三四| 久久青青草综合| 痴汉一区二区三区| 国产伦精品一区二区三区免 | 亚洲视频二区| 99在线观看视频网站| 精品无人区一区二区三区竹菊 | 亚洲日本精品国产第一区| 免费欧美日韩| 精品在线视频一区二区三区| 水蜜桃一区二区| 合欧美一区二区三区| 国产亚洲第一区| 国产伦精品一区二区三区视频免费| 精品在线视频一区二区| 亚洲国产精品久久久久婷婷老年 | 任我爽在线视频精品一| 欧美福利视频| 久久国产成人| 久久久久久草| 欧美精品观看| 欧美专区18| 日韩欧美手机在线| 狠狠色狠狠色综合人人| 2020国产精品久久精品不卡| 久久99精品久久久久久青青日本 | 精品国产一区二区三区麻豆小说 | 中文字幕99| 国产精品久久久免费| 精品一区久久| 亚洲国产激情| 国产伦精品一区二区三区高清版 | 18成人在线| 中文字幕中文字幕一区三区|