1. 程式人生 > >ArcGIS Web API 接入天地圖瓦片

ArcGIS Web API 接入天地圖瓦片

接入天地圖的瓦片完全類似google的瓦片服務,但是空間參考不一致,想疊加其他的資料的話需要注意空間參考的設定,以上三篇部落格的目的為簡單的技術研究,如果想將這些內容用於商業用途,大家還是要聯絡廠家啊!

publicclasstianditu :TiledMapServiceLayer

{

publicstring _mapType = null;

privatestring[] _hosts = newstring[] { “tile0,
“tile1, “tile2,
“tile3, “tile4,
“tile5, “tile6,
“tile6, “tile7
};

public

overridevoid
Initialize()

{

this.FullExtent
=
new
ESRI.ArcGIS.Client.Geometry.Envelope(180,-90,-180,90);       
{

SpatialReference = newESRI.ArcGIS.Client.Geometry.SpatialReference(4326);

};

this.SpatialReference
=
new
ESRI.ArcGIS.Client.Geometry.SpatialReference(4326);

this.TileInfo
=
new TileInfo()

{

Height = 256,

Width = 256,

Origin = new
ESRI.ArcGIS.Client.Geometry.MapPoint(-90d,45d)           
{

SpatialReference = new
ESRI.ArcGIS.Client.Geometry.SpatialReference(4326)

},

Lods = new
Lod[18]

};

double
resolution = 0.3515625;

for (int i = 0; i <TileInfo.Lods.Length; i++)

{

TileInfo.Lods[i] = new Lod() { Resolution = resolution };

resolution /= 2;

}

base.Initialize();

}

publicoverridestring
GetTileUrl(
int level, int
row,
int col)

{

int
index =
Math.Abs(col % 7);

string
host = _hosts[index];

string
url=
“”;

if(_mapType==
“map)

{

if
(level < 10)

{

url=string.Format(“http://{0}.tianditu.com/DataServer?T=A0512_EMap&X={1}&Y={2}&L={3},
host, col, row, level+1);

}

elseif (level < 12)

{

url=string.Format(“http://{0}.tianditu.com/DataServer?T=B0627_EMap1112&X={1}&Y={2}&L={3},
host, col, row, level+1);

}

else

{

url=string.Format(“http://{0}.tianditu.com/DataServer?T=siwei0608&X={1}&Y={2}&L={3},
host, col, row, level+1);

}

}

if
(_mapType ==
“Vanno)

{

if
(level < 10)

{

url = string.Format(“http://{0}.tianditu.com/DataServer?T=AB0512_Anno&X={1}&Y={2}&L={3},
host, col, row, level + 1);

}

}

if
(_mapType ==
“img)

{

if
(level < 10)

{

url = string.Format(“http://{0}.tianditu.com/DataServer?T=sbsm0210&X={1}&Y={2}&L={3},
host, col, row, level + 1);

}

elseif (level == 10)

{

url = string.Format(“http://{0}.tianditu.com/DataServer?T=e11&X={1}&Y={2}&L={3},
host, col, row, level + 1);

}

elseif (level == 11)

{

url = string.Format(“http://{0}.tianditu.com/DataServer?T=e12&X={1}&Y={2}&L={3},
host, col, row, level + 1);

}

elseif (level == 12)

{

url = string.Format(“http://{0}.tianditu.com/DataServer?T=e13&X={1}&Y={2}&L={3},
host, col, row, level + 1);

}

elseif (level == 13)

{

url = string.Format(“http://{0}.tianditu.com/DataServer?T=eastdawnall&X={1}&Y={2}&L={3},
host, col, row, level + 1);

}

else

{

url = string.Format(“http://{0}.tianditu.com/DataServer?T=sbsm1518&X={1}&Y={2}&L={3},
host, col, row, level + 1);

}

}

return
url;

}

}

相關推薦

ArcGIS Web API 接入地圖瓦片

接入天地圖的瓦片完全類似google的瓦片服務,但是空間參考不一致,想疊加其他的資料的話需要注意空間參考的設定,以上三篇部落格的目的為簡單的技術研究,如果想將這些內容用於商業用途,大家還是要聯絡廠家啊! publicclasstianditu :TiledMapServic

Cesium三維球上邊疊加地圖瓦片

< script >         var viewer = new Cesium.Viewer( 'cesiumContainer', { &nb

本地IIS部署的arcgis js api ,載入地圖樣式改變 --解決方案

之前部署了離線的arcgis js api ,在載入地圖的時候google 瀏覽器總是提示跨域的問題,而且地圖的樣式也發生了變化,但是引用官網的線上api的時候就不會出現的這種問題,意識到是部署的api哪裡還沒有做好,查閱資料許久才找到解決方案,特寫下這篇部落格(其實都已經過去好長時間了 = =)

超圖idesktop匯入web型資料來源地圖

使用超圖呼叫天地圖線上服務,然後疊加上我們製作的地圖,可以檢視製圖效果。以載入國家天地圖向量地圖服務為例:服務地址:http://t0.tianditu.com/vec_c/wmts在idesktop中開啟web型資料來源: 新增後,雙擊加入的web資料來源,在桌面視窗中開

ArcGIS API for JavaScript3.x 學習筆記[3] 加載底圖(一)【地圖(經緯度版)】

矢量地圖 說明 tiled spa 過程 相同 服務器列表 text 服務 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5

如何呼叫地圖js API 新增arcgis釋出的圖層服務

描述:最近專案中用到天地圖,後來需要在天地圖中新增一個arcgis釋出的圖層服務,那要如何實現呢,其實挺簡單,但是有些地方需要注意,尤其是對於新手來說,就鬱悶了,因為我也是新手,下面就說下如何實現:

地圖API加載ArcGIS Server服務

ces form eps 分享 png class fault api 圖層 發布的服務需要選擇WMS功能    wmsLayer = new T.TileLayer.WMS("http://127.0.0.1:6080/arcgis/services

arcgis api for js入門開發系列二十一 用HTML5 canvas繪製地圖 瓦片載入平移縮放

  終於開始可以寫程式碼了,手都開始癢了。這裡的程式碼僅僅是在chrome檢測過,我可以肯定的是IE10以下瀏覽器是行不通,我一直在考慮,是不是使用IE禁止看我的篇部落格,就是這群使用IE的人,給我加了很多工作量。     一個地圖的基本動作,無非就是載入資料,

arcgis api for javascript 3.21和4.4載入地圖

arcgis js api目前有兩條路線,4.4支援2D和3D地圖,3.21主要做2D全景圖,兩種的地圖載入方式和介面的用法還是有些不同的,以前用3.21載入天地圖的時候直接用天地圖的REST url就可以載入地圖,在用新的4.4載入天地圖的時候參照官網的載入例子缺怎麼都無

18 ArcGIS API for JavaScript4.X 系列加載地圖(經緯度)

arcgis 細節 spatial code sel charset read 加載 pan <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF

arcgis api 4.x for js 結合 react 入門開發系列react全家桶實現加載地圖(附源碼下載)

style foo 多說 target pat tile es6 wrap 頁面 基於兩篇react+arcgis的文章介紹,相信大家也能體會兩者的開發區別了。在“初探篇”中作者也講述了自己的選擇,故廢話不多說,本篇帶大家體驗在@arcgis/web

arcgis載入線上官方高清地圖的方法,最大1:2000

1.註冊天地圖開發者,可以用郵箱很快的免費申請,無任何流量,訪問次數的限制 地址http://lbs.tianditu.gov.cn/ 2.使用 天地圖 地圖服務 http://lbs.tianditu.gov.cn/server/MapService.html  天

arcgis for android 呼叫公網地圖註記重影問題

      最近在android專案開發中,使用arcgis for android 地圖api呼叫公網的天地圖。有一個問題,天地圖的註記層,在地圖縮放的時候重新整理滯後,導致註記層有重影,使用者體驗差。    &nb

地圖Api

1 官網 http://www.tianditu.gov.cn/ 2 註冊賬號 [email protected]/Tianditu,233   3 流程步驟 4 申請開發者 https://console.tianditu.go

使用osmdroid載入谷歌、高德、地圖瓦片地圖

研究了一星期多的Osmdroid,深感這個開源的android地圖包強大,因為使用其他瓦片涉及智慧財產權,請大家謹慎使用,本文只做研究測試。 新建GoogleTileSource類繼承org.osmdroid.tileprovider.tilesource.T

百度地圖Web API Python模組

目錄 描述 本篇內容基於模組baidumap==1.2.4 百度地圖Web API給了開發者們很大的自由發揮空間,百度地圖官方提供了C, Java以及Android的開發SDK,但沒有提供Python的開發包,本人雖然技術很有限,但是興趣使然,就開發了第

arcgis 調取地圖poi興趣點

哈哈,大噶猴,我又來了,好久沒寫部落格了,都有點生疏了,回到這裡還是熟悉的味道,真好! 好的,進入正題,今天記錄arcgis 調取天地圖POI興趣點,例如搜尋超市,酒店啥的。 上效果圖 -----------------------------------------------------

ArcGIS讀取地圖2.0

天地圖2.0(http://www.chinaonmap.com)於2013年3月份上線,基本情況如下: 1)     基於OGC的WMTS 1.0.0版本; 2)     提供向量地圖、影像地圖和地形圖; 3)     提供兩種座標系:國家2000大地座標系和Web Me

【2016年Esri開發者大會亮點解析】全新ArcGIS Python API,彌補Web端使用Python空白

        大家在感嘆Python在ArcGIS Desktop和ArcGIS Pro 資料處理能力強大的同時,Esri 隆重介紹一款新的產品,彌補Python在Web端進行地理處理,空間分析方面的空白,這就是全新的ArcGIS Python API,Python 以

地圖api 區劃聚合+海量點展示 區劃到鄉鎮

// 自定義圖片 var imageLayer = new AMap.ImageLayer({ // url: 'http://1.img.dianjiangla.com/jdAssets/jdCity.png', url: 'http://1.img.dianjia