ArcGIS API for JavaScript开发初探——HelloMap
1、前言
在开始ArcGIS API for JavaScript开发之前我们需要了解一些基本的知识:
1、开发工具选什么?
前端技术的开发工具选择是一个仁者见仁智者见智的问题,有人喜欢Hbuilder,有人喜欢Sublime Text,notepad++,也有人喜欢直接在写字板写代码。还有很多功能更全面的集成开发环境,全凭个人喜好,这里笔者推荐使用Hbuilder,代码提示很给力,熟悉了快捷键后写代码也比较效率。
2、AMD规范
本教程展示了如何使用ArcGIS API的模块,其中JavaScript使用异步模块定义(AMD)。AMD规范代码和原始代码之间的主要区别是如何加载模块(require() vs. dojo.require()) ,以及类的模块引用(全局变量用于原始代码,而AMD样式代码使用局部变量)。具体区别可参照参考链接中的教程原始英文版本。
3、Dojo框架
ArcGIS API for JavaScript 基于Dojo框架搭建,所以学习 ArcGIS JavaScript API 需要对Dojo框架有一定的了解。
2、建立第一个应用程序HelloWord
2.1 、创建一个简单的HTML文档
首先我们先创建一个简单的Html文档,具体事例如下图:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>HelloWord</title>
</head>
<body>
</body>
</html>
2.2、引用的ArcGIS API JavaScript
要开始使用ArcGIS API为JavaScript工作,添加下面的脚本和链接到<head>标签中:
<link rel="stylesheet" href="http://js.arcgis.com/3.12/esri/css/esri.css">
<script src="http://js.arcgis.com/3.12/"></script>
script标签加载的ArcGIS API为JavaScript库。当新的JavaScript API的版本发布时,可更到新的版本号以匹配新版本的API。
esri.css样式表中包含特定于ESRI的部件和组件的样式。有关这个样式表的详细信息,请参阅上的帮助主题所需的CSS。
对于各种不同的主题样式表的URL如下:
http://js.arcgis.com/3.12/dijit/themes/claro/claro.css
http://js.arcgis.com/3.12/dijit/themes/tundra/tundra.css
http://js.arcgis.com/3.12/dijit/themes/nihilo/nihilo.css
http://js.arcgis.com/3.12/dijit/themes/soria/soria.css
2.3、加载模块
添加<SCRIPT>标签并从API加载指定的模块。JavaScript代码将直接在其内部增加。
<script>
require(["esri/map"], function(Map) { ... });
</script>
2.4、确保DOM是可用
使用dojo/ domready!确保执行任何代码之前DOM是可用的。一旦DOM是可用的,则该函数传递给 require()将运行。该函数的代码会创建地图并添加底图。
<script>
require(["esri/map", "dojo/domReady!"], function(Map) {
// code to create the map and add a basemap will go here
});
</script>
2.5、创建地图
通过加载esri/map模块的Map类,可用创建一个新的地图。“mapDiv”字符作为包含了地图的div元素的id号被传给Map。并指定其他地图的属性,如底图和起始中心点和缩放级别,在地图初始化的构造函数中。
var map ;
require ([ "esri/map" , "dojo/domReady!" ], function ( Map ) {
map = new Map ( "mapDiv" , {
center : [- 56.049 , 38.485 ],
zoom : 3 ,
basemap : "streets"
});
});
其他底图选项是:"satellite", "hybrid", "topo", "gray", "oceans", "osm", "national-geographic"。可通过沙箱修改底图来替换不同的底图。查看附加的地图选项来查看地图类的更多细节。
2.6、定义页面内容
现在JavaScript已经在某一位置创建了地图,下一步是添加相关的HTML。此示例中,HTML页面是非常简单的:主体标记,它定义了浏览器中可见的内容,并且单个div元素将在被创建的地图主体中。
<body class="claro">
<div id="mapDiv"></div>
</body>
2.7、页面设计
在本教程中,地图需要填充浏览器窗口。为了达到这一效果,需要早页面<head>标记中添加以下的CSS :
<style>
html, body, #mapDiv {
padding:;
margin:;
height: 100%; }
</style>
2.8、完整页面代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>HelloWord</title>
<link rel="stylesheet" href="http://js.arcgis.com/3.12/esri/css/esri.css">
<script src="http://js.arcgis.com/3.12/"></script>
<script>
var map ;
require ([ "esri/map" , "dojo/domReady!" ], function ( Map ) {
map = new Map ( "mapDiv" , {
center : [- 56.049 , 38.485 ],
zoom : 3 ,
basemap : "streets"
});
});
</script>
<style>
html, body, #mapDiv {
padding: 0;
margin: 0;
height: 100%; }
</style>
</head>
<body>
<div id="mapDiv"></div>
</body>
</html>
3、参考链接
https://developers.arcgis.com/javascript/jshelp/intro_firstmap_amd.html
https://developers.arcgis.com/javascript/jshelp/intro_firstmap.html
ArcGIS API for JavaScript开发初探——HelloMap的更多相关文章
- ArcGIS API for JavaScript开发初探——基础知识
1.前言 在ArcGIS Web API开发体系中一共有四大类,分别为: ArcGIS API for Flex ArcGIS API for JavaScript ArcGIS API for RE ...
- ArcGIS API for JavaScript开发初探——基本地图组件使用
1.前言 在上一篇我们已经我们已经讲述了第一个地图应用程序的HelloMap的创建过程,这一篇我们来讲述基本地图组件:Home Button.比例尺.鹰眼图的使用方法. 2.基本地图组件 在ArcGI ...
- ArcGIS API for JavaScript开发环境搭建及第一个实例demo
原文:ArcGIS API for JavaScript开发环境搭建及第一个实例demo ESRI公司截止到目前已经发布了最新的ArcGIS Server for JavaScript API v3. ...
- ArcGIS API for javascript开发笔记(二)——解决ArcGIS Service中的服务在内网环境下无法进行javascript预览问题
感谢一路走来默默支持和陪伴的你~~~ ----------------------------拒绝转载-------------------------------- 1.问题说明 在使用ArcGIS ...
- ArcGIS API for JavaScript开发环境搭建与发布以及基本功能实现
1.背景介绍 ArcGIS API for JavaScript 咱这就不介绍了,具体可看ESRI中国的介绍:http://support.esrichina.com.cn/2011/0223/960 ...
- ArcGIS API For JavaScript 开发(二)基础地图
有了开发环境,接下来的就是实践了,实践是检验真理的唯一标准! 多多练习,不要觉得自己能够想的出来就万事大吉了,还是得动手做才是最好的检验自己的能力. 基础地图,本节将通过arcgis api for ...
- ArcGIS API For JavaScript 开发(一)环境搭建
标签:B/S结构开发,Asp.Net开发,WebGIS开发 前言:为什么写这个,一是学习:二是分享,共同进步,毕竟也是在这个园子里学到了很多: (一)环境搭建 集成开发环境:VS2013 Ultima ...
- ArcGIS API For JavaScript 开发(五)要素图层的编辑
2018-4-3 这篇博客主要讲述要素的层的编辑功能,是基于FeatureLayer的applyEdit方法.由于自己目前正在学习当中,有许多不足之处请各位指出,欢迎指导学习! 主要功能是 1.将地图 ...
- ArcGIS API for javascript开发笔记(五)——GP服务调用之GP模型的发布及使用详解
感谢一路走来默默陪伴和支持的你~~~ ----------------欢迎来访,拒绝转载---------------- 关于GP模型的制作请点我! 一.GP发布 ArcGIS Desktop可以作为 ...
随机推荐
- Learning Python 005 字符串和编码
Python 字符串和编码 介绍 计算机是美国人发明的,最早只有127个字母被编码到计算机,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122. 处理中文一个字节显然 ...
- HDFS追加文件
配置:hdfs-site.xml <property> <name>dfs.support.append</name> <value>true</ ...
- 1.1 xss原理分析与剖析(2)
0×01 反射型XSS: 反射XSS是XSS分类中最多的,他们原理是下面这样: Hacker——发现存在反射XSS的URL——根据输出点的环境构造XSS代码——进行编码.缩短(可有可无,是为了增加迷惑 ...
- jquery提供的数据提交方式1
1,ajax提交,部分代码为easyui function editNode(id){ $.ajax({ dataType:'json', async:true, //默认的就是异步提交 type:' ...
- URAL 2021 Scarily interesting! (贪心+题意)
题意:给定两个队伍的每个人的得分,让你安排怎么比赛才能使得观众知道冠军的时间最长. 析:贪心,很简单,就是先开始总分高的先出最差劲的,总分低的先出最厉害的,这个题当时实在是读的不明白啊,WA了好多次. ...
- Java数组转置
数组转置,就是将打印的数组的列和行进行位置对换. 我们就可以用两个for循环遍历数组,然后交换arr[i][j]与arr[j][i] public class Demo{ public static ...
- javascript 操作符小结
简单总结一下JavaScript的几个操作符: var. in. delete. typeof. new. instanceof.void var 定义变量要使用var操作符, 使用var操作符定义的 ...
- Git error: unable to create file xxx: Filename too long
一.问题描述 在使用 git 时,提示 error: unable to create file xxx: Filename too long error: unable to create file ...
- Go:Nsq消息队列
Nsq服务端简介 在使用Nsq服务之前,还是有必要了解一下Nsq的几个核心组件整个Nsq服务包含三个主要部分 nsqlookupd 先看看官方的原话是怎么说:nsqlookupd是守护进程负责管理拓扑 ...
- 解决Navicat无法连接到Mysql
Navicat无法连接到Mysql,返回的错误码是Lost connection to MySQL server at ‘reading initial communication packet’, ...