【ArcGis for javascript从零开始】之一 ArcGis加载天地图
最近做项目需要用到ArcGis来进行数据展示和数据分析。以前从来没有接触过与Gis有关的东西,一切需要从头开始学。没有时间从头系统地学习了,只能用到哪个学习哪里了,本系列只是对学习的路径进行记录。ArcGis在网上没有找到中文的API,只有官网的英文API和Demo,而且用到了大量dojo的API,dojo也没有接触过,这方面也是需要学习的……
一、ArcGis加载
引入css 和js
- <link rel= "stylesheet" href ="https://js.arcgis.com/3.15/esri/css/esri.css">
- <script src= "https://js.arcgis.com/3.15/" ></script>
html
- <div id= "map" ></div>
初始化地图
- require(["esri/map", "dojo/domReady!" ], function(Map) {
- <span style="white-space:pre"> </span>var map = new Map("map" , {
- <span style="white-space:pre"> </span>center: [-118, 34.5],
- <span style="white-space:pre"> </span>zoom: 8,
- <span style="white-space:pre"> </span>basemap: "topo"
- <span style="white-space:pre"> </span>});
- });

二、加载天地图
- //加载天地图
- var baseMap = new WebTiledLayer("http://\${subDomain}.tianditu.com/DataServer?T=vec_c&X=\${col}&Y=\${row}&L=\${level}" , {
- <span style="white-space:pre"> </span>"copyright" : "Tianditu",
- <span style="white-space:pre"> </span>"id": "Tianditu" ,
- <span style="white-space:pre"> </span>"subDomains" : ["t0", "t1", "t2" ]
- });
- map.addLayer(baseMap);
- <span style="white-space:pre"> </span>var tileInfo = new esri.layers.TileInfo({
- "rows" : 256,
- "cols" : 256,
- "compressionQuality" : 0,
- "origin" : {
- "x" : -180,
- "y" : 90
- },
- "spatialReference" : {
- "wkid" : 4326
- },
- "lods" : [
- {
- "level" : 2,
- "resolution" : 0.3515625,
- "scale" : 147748796.52937502
- },
- {
- "level" : 3,
- "resolution" : 0.17578125,
- "scale" : 73874398.264687508
- },
- {
- "level" : 4,
- "resolution" : 0.087890625,
- "scale" : 36937199.132343754
- },
- {
- "level" : 5,
- "resolution" : 0.0439453125,
- "scale" : 18468599.566171877
- },
- {
- "level" : 6,
- "resolution" : 0.02197265625,
- "scale" : 9234299.7830859385
- },
- {
- "level" : 7,
- "resolution" : 0.010986328125,
- "scale" : 4617149.8915429693
- },
- {
- "level" : 8,
- "resolution" : 0.0054931640625,
- "scale" : 2308574.9457714846
- },
- {
- "level" : 9,
- "resolution" : 0.00274658203125,
- "scale" : 1154287.4728857423
- },
- {
- "level" : 10,
- "resolution" : 0.001373291015625,
- "scale" : 577143.73644287116
- },
- {
- "level" : 11,
- "resolution" : 0.0006866455078125,
- "scale" : 288571.86822143558
- },
- {
- "level" : 12,
- "resolution" : 0.00034332275390625,
- "scale" : 144285.93411071779
- },
- {
- "level" : 13,
- "resolution" : 0.000171661376953125,
- "scale" : 72142.967055358895
- },
- {
- "level" : 14,
- "resolution" : 8.58306884765625e-005,
- "scale" : 36071.483527679447
- },
- {
- "level" : 15,
- "resolution" : 4.291534423828125e-005,
- "scale" : 18035.741763839724
- },
- {
- "level" : 16,
- "resolution" : 2.1457672119140625e-005,
- "scale" : 9017.8708819198619
- },
- {
- "level" : 17,
- "resolution" : 1.0728836059570313e-005,
- "scale" : 4508.9354409599309
- },
- {
- "level" : 18,
- "resolution" : 5.3644180297851563e-006,
- "scale" : 2254.4677204799655
- }
- ]
- });
- <span style="white-space:pre"> </span>var baseMap = new WebTiledLayer("http://\${subDomain}.tianditu.com/DataServer?T=vec_c&X=\${col}&Y=\${row}&L=\${level}" , {
- "copyright" : "Tianditu",
- "id": "Tianditu" ,
- "subDomains" : ["t0", "t1", "t2" ],
- <strong>"tileInfo" :tileInfo</strong>
- });
这样显示出来是下面的样子,好一片蔚蓝的大海。
我们把地图缩小一下再看:

- //底图标注
- var baseMapMarker = new WebTiledLayer("http://\${subDomain}.tianditu.com/DataServer?T=cva_c&X=\${col}&Y=\${row}&L=\${level}" , {
- "copyright" : "Tianditu",
- "id": "Tianditu2" ,
- "subDomains" : ["t0", "t1", "t2" ],
- "tileInfo" :tileInfo
- });
- map.addLayer(baseMapMarker);
显示效果变成这个样子:

- <span style="white-space:pre"> </span>map.centerAndZoom(new esri.geometry.Point({
- "x": 116.40969,
- "y": 39.89945,
- "spatialReference": {
- "wkid": 4326
- }
- }),12);
最终效果,至于显示div的样式,铺满全屏什么的,这就是CSS的问题了,不多说了,上一张完工图:

我写的demo,html版的,可以稍微借鉴一下吧 ^_^ 点我下载
【ArcGis for javascript从零开始】之一 ArcGis加载天地图的更多相关文章
- ArcGis Javascript API (V3.6)加载天地图
Arcgis的Javascript api开发很活跃,不知不觉都发布了3.6的版本了.该版本基于dojo 1.8.3开发的. 从dojo 1.8开始,AMD机制用得越来越多了,而且require([& ...
- 18 ArcGIS API for JavaScript4.X 系列加载天地图(经纬度)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 使用ArcGIS JavaScript API 3.18 加载天地图
对于中国开发者在创建GIS应用的时候,往往比较头疼的是底图资源的缺乏.其实国家测绘地信局就提供一个很好的免费资源:天地图.使用ArcGIS API的开发人员可以直接利用该资源作为地图应用的底图. Ar ...
- ArcGIS API for Javascript 加载天地图(经纬度投影)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- ArcGIS API for Javascript 加载天地图(墨卡托投影)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- (转)Arcgis for js加载天地图
http://blog.csdn.net/gisshixisheng/article/details/44494715 综述:本节讲述的是用Arcgis for js加载天地图的切片资源. 天地图的切 ...
- arcgis api for javascipt 加载天地图、百度地图
写在前面的话: 1.百度地图是自己定义的坐标系统,wkid=102100.百度地图数据是加密的产物.下文将附上百度坐标与WGS84,谷歌等坐标系统转换方法(地理-地理),此方法并未亲测,据说准 2.百 ...
- (转载)arcgis for js - 解决加载天地图和WMTS服务,WMTS服务不显示的问题,以及wmts服务密钥。
1 arcgis加载天地图和wmts服务 arcgis for js加载天地图的例子网上有很多,这里先不写了,后期有空再贴代码,这里主要分析下WMTS服务为什么不显示,怎么解决. 条件:这里的WMTS ...
- arcgis api 4.x for js 结合 react 入门开发系列react全家桶实现加载天地图(附源码下载)
基于两篇react+arcgis的文章介绍,相信大家也能体会两者的开发区别了.在“初探篇”中作者也讲述了自己的选择,故废话不多说,本篇带大家体验在@arcgis/webpack-plugin环境下,使 ...
随机推荐
- Auguse 2nd, Week 32nd Tuesday, 2016
Love me little and love me long.不求情意绵绵,但愿天长地久. Friends are relatives you make for yourself.朋友是你自己结交的 ...
- July 11th, Week 29th Monday, 2016
I want to win a trophy, it's the most important. 我希望获得冠军奖杯,这是最重要的事情. Win a trophy, stand on the very ...
- bootstrap学习总结1
什么是Bootstrap? bootstrap就是一个前端框架,有Twitter公司开发 最大的优点: 开源 : 响应式设计:Bootstrap 的响应式 CSS 能够自适应于台式机.平板电脑和手机. ...
- Andoird自定义ViewGroup实现竖向引导界面
一般进入APP都有欢迎界面,基本都是水平滚动的,今天和大家分享一个垂直滚动的例子. 先来看看效果把: 首先是布局文件: <com.example.verticallinearlayout.Ver ...
- Android实现高仿QQ附近的人搜索展示
本文主要实现了高仿QQ附近的人搜索展示,用到了自定义控件的方法 最终效果如下 1.下面展示列表我们可以使用ViewPager来实现(当然如果你不觉得麻烦,你也可以用HorizontalScrollVi ...
- PHP站内搜索:多关键字、加亮显示
一.SQL语句中的模糊查找 主要通过LIKE(不区分大小写)关键字实现模糊查找.LIKE条件一般用在指定搜索某字段的时候, 通过"%"或者" _" ...
- AD7715
一.芯片概述 1.AD7715是一款适合低频测量应用的完整模拟前端,可直接接受来自传感器的低电平输入信号,并产生串行数字输出.AD7715采用Σ-Δ转换技术,可实现最高16位无失码性能. 2.CMOS ...
- 不自动生成Android Dependencies的解决方式
今天遇到的奇怪问题是网上下载的demo导入第三方包运行后Android: NoClassDefFoundError的错误,原因是第三方的jar包并没有打包进apk里,运行是肯定要出错的. 网上百度了N ...
- 【原创】CDM添加新磁盘,然后负载
hdfs快占满了,所以为节点中添加新的磁盘(这块是个教训,以后用新的节点时,磁盘需要一次性插满,省得后续再添加磁盘了) 注意: 添加磁盘时,不仅仅datanode在配置时添加节点,nodemanage ...
- JVM的回收实现
通过一系列的称为"GC Roots"的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链(Reference Chain),当一个对象到GC Roots没有任何引用 ...