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文档,具体事例如下图:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>HelloWord</title>
  6. </head>
  7. <body>
  8. </body>
  9. </html>

2.2、引用的ArcGIS API JavaScript

要开始使用ArcGIS API为JavaScript工作,添加下面的脚本和链接到<head>标签中:

  1. <link rel="stylesheet" href="http://js.arcgis.com/3.12/esri/css/esri.css">
  2. <script src="http://js.arcgis.com/3.12/"></script>

script标签加载的ArcGIS API为JavaScript库。当新的JavaScript API的版本发布时,可更到新的版本号以匹配新版本的API。

esri.css样式表中包含特定于ESRI的部件和组件的样式。有关这个样式表的详细信息,请参阅上的帮助主题所需的CSS

对于各种不同的主题样式表的URL如下:

  1. http://js.arcgis.com/3.12/dijit/themes/claro/claro.css
  2. http://js.arcgis.com/3.12/dijit/themes/tundra/tundra.css
  3. http://js.arcgis.com/3.12/dijit/themes/nihilo/nihilo.css
  4. http://js.arcgis.com/3.12/dijit/themes/soria/soria.css

2.3、加载模块

添加<SCRIPT>标签并从API加载指定的模块。JavaScript代码将直接在其内部增加。

  1. <script>
  2. require(["esri/map"], function(Map) { ... });
  3. </script>

2.4、确保DOM是可用

使用dojo/ domready确保执行任何代码之前DOM是可用的。一旦DOM是可用的,则该函数传递给 require()将运行。该函数的代码会创建地图并添加底图。

  1. <script>
  2. require(["esri/map", "dojo/domReady!"], function(Map) {
  3. // code to create the map and add a basemap will go here
  4. });
  5. </script>

2.5、创建地图

通过加载esri/map模块的Map类,可用创建一个新的地图。“mapDiv”字符作为包含了地图的div元素的id号被传给Map。并指定其他地图的属性,如底图和起始中心点和缩放级别,在地图初始化的构造函数中。

  1. var map ;
  2. require ([ "esri/map" , "dojo/domReady!" ], function ( Map ) {
  3. map = new Map ( "mapDiv" , {
  4. center : [- 56.049 , 38.485 ],
  5. zoom : 3 ,
  6. basemap : "streets"
  7. });
  8. });

其他底图选项是:"satellite", "hybrid", "topo", "gray", "oceans", "osm", "national-geographic"。可通过沙箱修改底图来替换不同的底图。查看附加的地图选项来查看地图类的更多细节。

2.6、定义页面内容

现在JavaScript已经在某一位置创建了地图,下一步是添加相关的HTML。此示例中,HTML页面是非常简单的:主体标记,它定义了浏览器中可见的内容,并且单个div元素将在被创建的地图主体中。

  1. <body class="claro">
  2. <div id="mapDiv"></div>
  3. </body>

2.7、页面设计

在本教程中,地图需要填充浏览器窗口。为了达到这一效果,需要早页面<head>标记中添加以下的CSS :

  1. <style>
  2. html, body, #mapDiv {
  3. padding:;
  4. margin:;
  5. height: 100%; }
  6. </style>

2.8、完整页面代码

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>HelloWord</title>
  6. <link rel="stylesheet" href="http://js.arcgis.com/3.12/esri/css/esri.css">
  7. <script src="http://js.arcgis.com/3.12/"></script>
  8. <script>
  9. var map ;
  10. require ([ "esri/map" , "dojo/domReady!" ], function ( Map ) {
  11. map = new Map ( "mapDiv" , {
  12. center : [- 56.049 , 38.485 ],
  13. zoom : 3 ,
  14. basemap : "streets"
  15. });
  16. });
  17. </script>
  18. <style>
  19. html, body, #mapDiv {
  20. padding: 0;
  21. margin: 0;
  22. height: 100%; }
  23. </style>
  24. </head>
  25. <body>
  26. <div id="mapDiv"></div>
  27. </body>
  28. </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的更多相关文章

  1. ArcGIS API for JavaScript开发初探——基础知识

    1.前言 在ArcGIS Web API开发体系中一共有四大类,分别为: ArcGIS API for Flex ArcGIS API for JavaScript ArcGIS API for RE ...

  2. ArcGIS API for JavaScript开发初探——基本地图组件使用

    1.前言 在上一篇我们已经我们已经讲述了第一个地图应用程序的HelloMap的创建过程,这一篇我们来讲述基本地图组件:Home Button.比例尺.鹰眼图的使用方法. 2.基本地图组件 在ArcGI ...

  3. ArcGIS API for JavaScript开发环境搭建及第一个实例demo

    原文:ArcGIS API for JavaScript开发环境搭建及第一个实例demo ESRI公司截止到目前已经发布了最新的ArcGIS Server for JavaScript API v3. ...

  4. ArcGIS API for javascript开发笔记(二)——解决ArcGIS Service中的服务在内网环境下无法进行javascript预览问题

    感谢一路走来默默支持和陪伴的你~~~ ----------------------------拒绝转载-------------------------------- 1.问题说明 在使用ArcGIS ...

  5. ArcGIS API for JavaScript开发环境搭建与发布以及基本功能实现

    1.背景介绍 ArcGIS API for JavaScript 咱这就不介绍了,具体可看ESRI中国的介绍:http://support.esrichina.com.cn/2011/0223/960 ...

  6. ArcGIS API For JavaScript 开发(二)基础地图

    有了开发环境,接下来的就是实践了,实践是检验真理的唯一标准! 多多练习,不要觉得自己能够想的出来就万事大吉了,还是得动手做才是最好的检验自己的能力. 基础地图,本节将通过arcgis api for ...

  7. ArcGIS API For JavaScript 开发(一)环境搭建

    标签:B/S结构开发,Asp.Net开发,WebGIS开发 前言:为什么写这个,一是学习:二是分享,共同进步,毕竟也是在这个园子里学到了很多: (一)环境搭建 集成开发环境:VS2013 Ultima ...

  8. ArcGIS API For JavaScript 开发(五)要素图层的编辑

    2018-4-3 这篇博客主要讲述要素的层的编辑功能,是基于FeatureLayer的applyEdit方法.由于自己目前正在学习当中,有许多不足之处请各位指出,欢迎指导学习! 主要功能是 1.将地图 ...

  9. ArcGIS API for javascript开发笔记(五)——GP服务调用之GP模型的发布及使用详解

    感谢一路走来默默陪伴和支持的你~~~ ----------------欢迎来访,拒绝转载---------------- 关于GP模型的制作请点我! 一.GP发布 ArcGIS Desktop可以作为 ...

随机推荐

  1. 掌握HDFS的Java API接口访问

    HDFS设计的主要目的是对海量数据进行存储,也就是说在其上能够存储很大量文件(可以存储TB级的文件).HDFS将这些文件分割之后,存储在不同的DataNode上, HDFS 提供了两种访问接口:She ...

  2. 项目:IT资源共享资源(登录前端)<1>

    公众号技术标签 小程序 PHP 源码 项目 IT资源共享项目 这是前年自己收集了一些网络开发资源,上传到百度网盘,提供积分兑换.上线后用户在两个月内达到3427人,其中用java,PHP,前端,Pyt ...

  3. [CentOS7] 常用工具 之 防暴力破解工具 Fail2ban

    防止暴力破解密码: Fail2ban ==> 用于自动ban掉ip 先用yum search fail2ban看看是否yum源含有fail2ban这个package,若没有的话请yum inst ...

  4. HTML5 为 <input> 增加的属性 ; 为 <form> 增加的如需属性

    HTML5 为 <input> 增加了如下属性: autocomplete autofocus form formaction formenctype formmethod formnov ...

  5. hdu6092(dp)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=6092 题意: 输入格式为, 对于每组测试样例第一行输入两个数 n, m, 接下来一行输入B数组, 有 ...

  6. [Xcode 实际操作]五、使用表格-(4)设置UITableView单元格数据库源

    目录:[Swift]Xcode实际操作 本文将演示如何自定义表格的数据来源. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit //首先添加 ...

  7. 一文带你看懂WebSocket 的原理?为什么可以实现持久连接?

    工作之余在知乎上偶然看到一篇回帖,瞬间觉得之前看的那么多资料都不及这一篇让我对 websocket 的认知深刻易懂,之前看总完总觉得一知半解云里雾里.所以与大家共同分享一下一起学习.比较喜欢这种博客理 ...

  8. Mysql的子查询与连接查询

    子查询: 在一个 select 语句中,嵌入了另外一个 select 语句, 那么被嵌入的 select 语句称之为子查询语句 主查询和子查询的关系: 子查询是嵌入到主查询中,子查询是辅助主查询的,要 ...

  9. 问题 Can't load AMD 64-bit .dll on a IA 32-bit platform

    问题简要描述: java.lang.UnsatisfiedLinkError: F:\Tools\tomcat6045\tomcat6.0.45_x64\apache-tomcat-6.0.45\bi ...

  10. Zabbix之CentOS7.3下yum安装Zabbix3.5

    Zabbix特点介绍 (此介绍来源于https://www.zabbix.com/documentation/3.4/zh/manual/introduction/features) 概述Zabbix ...