ArcGIS API for JavaScript 学习笔记 (一) --第一个WebGIS应用程序

说明:本地部署后续我会尝试。

简单介绍:

  开发环境是Visual Studio 2012,因为它为所有的.aspx文件、.htm文件以及外部的.js文件提供了IntelliSense(智能提示),相当于其他软件的代码自动补全功能,非常方便。接下来是我的第一个Javascript API 应用程序。ESRI在其arcgis online中提供了在线的ArcGIS API for JavaScript,在web应用中直接引用即可,无需下载安装;当然也可以下载API,然后部署到自己的web服务器,在这里我使用在线的api。

  1. 打开vs2012新建一个空web应用程序,然后添加一个html,起名为First.html;然后在<head>部分增加引用ESRI提供的样式表.(主要用于esri提供的小部件与 组件,例如地图、信息框等)。此外需要引用Dojo提供的样式表,主要有四中,现在只学习常用的两种,如下:

<link rel="stylesheet" href="http://js.arcgis.com/3.9/js/esri/css/esri.css" />   
<link rel="stylesheet" href="http://js.arcgis.com/3.9/js/dojo/dijit/themes/tundra/tundra.css" />
<link rel="stylesheet" href="http://js.arcgis.com/3.9/js/dojo/dijit/themes/claro/claro.css" />

   (dojo后面我会接着学习,现在只能边做边学了。)

  2. 然后在<head>标签中增加一个<script>标签,在此标签中引用API

<script src="http://js.arcgis.com/3.9/">

  3. 在<body>区域增加一个<div>元素,用于显示地图

<body class="tundra" >
      <div id="mapDiv"></div>
</body>                                将class属性设置为tundra后,body将自动引用dojo提供的样式

  4. 在<head>标签部分,加入如下代码,加载地图模块.

<script type="text/javascript">
        require(["esri/map", "esri/layers/ArcGISTiledMapServiceLayer","dojo/domReady!"], function (Map, ArcGISTiledMapServiceLayer) { });
</script>
//对上述代码做一解释

arcgis API for javascript 包含了许多资源,即地图模块,这些地图模块是按用途组织的,例如
esri/map用于地图,几何对象,图形与符号;
esri/tasks/locator 用于地理编码等等,后面我会学习更多的地图模块。
要想使用这些资源,需要先调用Dojo提供的全局require函数。require函数包括两个参数,第一个是依赖项,第二个参数是一个回调函数,第一个参数又包括两类,一类是真正的依赖项,另一类是插件。

所以上述代码中
["esri/map", "esri/layers/ArcGISTiledMapServiceLayer","dojo/domReady!"]是第一个参数,前两项为真正的依赖项地图模块,最后是插件(带有!号);
回调函数中的参数依次是require函数的第一个参数指定的依赖类别名如:Map,ArcGISTiledMapServiceLayer) { }

我的通俗理解加载地图模块就相当于c#当中的命名空间一般,只有加入命名空间,才可以使用esri/map中的类的属性方法。

  5.  初始化地图以及在地图中加入内容,在require函数指定的回调函数中加入如下代码:

// 以下是创建地图与加入底图的代码

            var map = new Map("mapDiv");
            var agoServiceURL = "http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer";
            var agoLayer = new ArcGISTiledMapServiceLayer(agoServiceURL, { displayLevels: [0, 1, 2, 3, 4, 5,6,7] });
            map.addLayer(agoLayer);

//  第一行使用Map类来创建一个新的地图。第二行指定了一个地图服务的URL,第三行通过URL创建一个切片图层,第四行将切片图层加入地图。

  6.所有代码如下:

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta  charset="utf-8" />
 5     <title>第一个JavaScript API应用</title>
 6     <link rel="stylesheet" href="http://js.arcgis.com/3.9/js/esri/css/esri.css" />
 7     <style type="text/css">
 8         html, body, #mapDiv {
 9             padding: 0;
10             margin: 0;
11             height: 100%;
12         }
13     </style>
14     <script type="text/javascript" src="http://js.arcgis.com/3.9/">
15     </script>
16     <script type="text/javascript">
17         require(["esri/map", "esri/layers/ArcGISTiledMapServiceLayer", "dojo/domReady!"], function (Map, ArcGISTiledMapServiceLayer) {
18         // 以下是创建地图与加入底图的代码
19         var map = new Map("mapDiv");
20         var agoServiceURL = "http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer";
21         var agoLayer = new ArcGISTiledMapServiceLayer(agoServiceURL, { displayLevels: [0, 1, 2, 3, 4, 5,6,7] });
22         map.addLayer(agoLayer);
23         });
24     </script>
25 </head>
26 <body class="tundra" >
27         <div id="mapDiv"></div>
28 </body>
29 </html>

  7.运行结果

 

时间: 2024-07-30 10:17:42

ArcGIS API for JavaScript 学习笔记 (一) --第一个WebGIS应用程序的相关文章

Arcgis api for javascript学习笔记-初步尝试(3.2X版本)

Arcgis api for javascript(3.22版本)官方地址 :https://developers.arcgis.com/javascript/3/ 1. 根据官方示例实现一个简单地图展示功能. 示例代码: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <link rel="stylesheet" href="https://js.arcgis.com/3.22/esri/css/esri

Arcgis api for javascript学习笔记-三维地图的飞行效果

其实就只是用到了 view.goTo()  函数,再利用 window.setInterval()  函数(定时器)定时执行goTo().代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scala

ArcGIS API For JavaScript学习笔记

描述 此示例演示如何创建一个简单的 LayerList用于切换可见性.在该特定示例中,小部件包含在侧面板内.该窗口小部件使用ArcGIS Online Web地图中的图层. <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewpo

arcgis API for javascript 学习笔记

ArcGis Server地图是缓存的,意味着它有服务器管理员简历提示性能的一组预先渲染的切片.由于这个原因地图通过ArcGISTiledMapServiceLayer表示 如果地图服务没有一个可用的缓冲,使用ArcGISDynamicMapServiceLayer. 使用下列行创建地图:var map = new esri.Map("map");

ArcGIS API for Silverlight 学习笔记

这里主要讲解展示不同的服务地图 先看一个实例: 新建一个Silverlight项目,在MainPage.xaml文件中,引入 ESRI.ArcGIS.Client 命名空间和 ESRI.ArcGIS.Client 所在的程序集 ESRI.ArcGIS.Client,并指定 该命名空间的名字为 esri,当然你也可以用自己的别名,比如myGIS. 接着写Map控件,并指定Map中的地图服务,一个简单的服务地图完成了,代码如下: <UserControl x:Class="ArcGISTile

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

原文:ArcGIS API for JavaScript开发环境搭建及第一个实例demo ESRI公司截止到目前已经发布了最新的ArcGIS Server for JavaScript API v3.9,它提供了更为丰富而又强大的功能.     一.安装前准备 1.ArcGIS Server for JavaScript API各版本下载地址:http://support.esrichina-bj.cn/2011/0223/960.html,我们选择下载最新的"ArcGIS API for Ja

DuiLib学习笔记2——写一个简单的程序

我们要独立出来自己创建一个项目,在我们自己的项目上加皮肤这才是初衷.我的新建项目名为:duilibTest 在duilib根目录下面有个 Duilib入门文档.doc 我们就按这个教程开始入门 首先新建一个win32项目 去DuiLib根目录,把目录下DuiLib文件夹拷贝到新建项目的根目录.再把这个项目添加进我们解决方案中. 从教程里面把以下代码粘贴到我们项目的stdafx.h中 // Duilib使用设置部分 #pragma once #define WIN32_LEAN_AND_MEAN

ArcGis API for JavaScript 开发笔记一 加载地图

1.首先要配置GIS 环境 参考资料:看下这些大神的资料: http://blog.sina.com.cn/s/blog_708bacf90100yddk.html http://blog.csdn.net/wufeishimeng/article/category/522004 也可以查看官方的例子: https://developers.arcgis.com/javascript/jssamples/ 查看GIS 官方API https://developers.arcgis.com/jav

ArcGIS API for JavaScript学习(1):第一个地图

1.简介 ArcGIS API for JavaScript跟随ArcGIS 9.3同时发布,是ESRI根据JavaScript技术实现的调用ArcGIS Server REST API接口的一组脚本.当前的最新版本是Version 3.20.通过ArcGIS API for JavaScript可以将ArcGIS Server提供的地图资源和其它资源(ArcGIS Online)嵌入到Web应用中. 在ArcGIS API For JS中,esri.Map类是最重要的一个类,Map作为地图图层