ArcGIS JSAPI 学习教程 - 初识 ArcGIS Maps SDK for JavaScript

简介: 本文为ArcGIS Maps SDK for JavaScript(JSAPI)入门首篇,涵盖概览、官方示例与API速览,完成4.28版HelloWorld实践,并简析其功能强大(二维/三维兼备、分析渲染丰富、免费闭源)与局限(社区小、扩展难、接口受限)。

近期由于工作需要,开始接触 ArcGIS Maps SDK for JavaScript(以下简称 JSAPI),为了更好的系统的学习,准备开设专栏,作为学习记录。

本文作为第一篇,首先介绍一下 JSAPI 的概览、官方示例以及官方 API。

然后完成 JSAPI 的 helloworld 以及注意事项。

最后简述一下 JSAPI 的优势劣势。


JSAPI 介绍

1. JSAPI 概览

ArcGIS Maps SDK for JavaScript 是 ESRI 公司开发的 Web 端地图库,目前最新版本为 4.28,下文简称 JSAPI。

JSAPI 包含二维和三维部分,其中二维跟 Openlayers 相当,三维跟 Cesium 相当。

不同的是,JSAPI 是闭源的,但是可以免费使用!

JSAPI 为了方便大家使用,提供了一系列教程,其中 API 和 示例代码最常用,下边分别介绍。

2. 官方示例

官方示例:Sample Code

在这里插入图片描述

3. 官方 API

官方 API:API Reference

在这里插入图片描述

4. 官方资源地址


<link rel="stylesheet" href="https://js.arcgis.com/4.28/esri/themes/light/main.css">
<script src="https://js.arcgis.com/4.28/"></script>

<!--个人镜像资源-->
<link rel="stylesheet" href="https://openlayers.vip/arcgis/4.28/esri/themes/light/main.css" />
<script src="https://openlayers.vip/arcgis/4.28/init.js"></script>

官方下载地址:JSAPI downloads

注意:需要注册登录!也可以点这里下载:CSDN JSAPI downloads


JSAPI Helloworld

JSAPI 入门比较简单,这里就贴一下代码,注意事项都在注释里:


<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" />
    <title>Intro to SceneView - Create a 3D map | Sample | ArcGIS Maps SDK for JavaScript 4.28</title>
    <style>
      html,
      body,
      #viewDiv {
    
        padding: 0;
        margin: 0;
        height: 100%;
        width: 100%;
      }
    </style>

    <!--个人镜像资源-->
    <link rel="stylesheet" href="https://openlayers.vip/arcgis/4.28/esri/themes/light/main.css" />
    <script src="https://openlayers.vip/arcgis/4.28/init.js"></script>

    <script>
      require(["esri/Map", "esri/views/SceneView"], (Map, SceneView) => {
    
        // 创建地图
        const map = new Map({
    
          // 基础图层
          basemap: "satellite",
          // 地形高程
          ground: "world-elevation"
        });

        // 创建地图视图
        const view = new SceneView({
    
          // 地图容器
          container: "viewDiv",
          // 传入地图对象
          map: map,
          // 地图相机
          camera: {
    
            // 初始位置
            position: {
    
              // 坐标系
              // 坐标系
              spatialReference: {
    
                wkid: 4326
              },
              x: 115,
              y: 32,
              z: 18161244.728082635
            },
            // 初始视角
            heading: 0,
            tilt: 0.49
          }
        });
      });
    </script>
  </head>

  <body>
    <div id="viewDiv"></div>
  </body>
</html>

JSAPI 优势劣势

  1. JSAPI 优势

JSAPI 优势很明显,功能齐全切强大,封装了大量项目中常用的功能,尤其是数据查询、数据渲染相关的。

比如:几何数据渲染、几何分析、要素查询、可视化渲染等。

熟练的使用这些方法,可以迅速的完成常规的漂亮的项目。

另外,JSAPI 依据 ArGIS 强大的功能,利用 WASM 实现了很多前端难以实现的功能!

Graphics:点线面以及几何体(通常几何体需要自己用 mesh 实现)。
在这里插入图片描述

Analysis:分析功能,JSAPI 提供一个几何分析的引擎;以及其他各种分析功能。
在这里插入图片描述

Query:查询功能,包含客户端查询和服务端查询。
在这里插入图片描述

Visualization:可视化功能,各种形式展示数据,非常常用。
在这里插入图片描述

  1. JSAPI 劣势

JSAPI 作为闭源地图库,社区活跃人数相对较少,因此遇到问题或者想要实现一些复杂功能就比较困难。

自己研究 JSAPI 源码,扩展功能,一是违背闭源原则,另外就是也非常困难。

除此之外,JSAPI 对外开放的接口较少,对于很多地图对象,想要扩展使用很不容易。

比如,想要实现几何体(立方体、管道等)就需要自己通过三角面实现;

比如,想要实现可视域分析难度就比较大。而对于 Cesium 就相对容易一些。

在这里插入图片描述


在线示例

JSAPI 在线示例:jsapi-helloworld

相关实践学习
基于Hologres轻量实时的高性能OLAP分析
本教程基于GitHub Archive公开数据集,通过DataWorks将GitHub中的项⽬、行为等20多种事件类型数据实时采集至Hologres进行分析,同时使用DataV内置模板,快速搭建实时可视化数据大屏,从开发者、项⽬、编程语⾔等多个维度了解GitHub实时数据变化情况。
阿里云实时数仓实战 - 用户行为数仓搭建
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3&nbsp;)前置知识要求:熟练掌握 SQL 语法熟悉 Linux 命令,对 Hadoop 大数据体系有一定的了解 &nbsp; 课程大纲 第一章&nbsp;了解数据仓库概念 初步了解数据仓库是干什么的 第二章&nbsp;按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章&nbsp;数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章&nbsp;采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章&nbsp;用户行为数据仓库 严格按照企业的标准开发 第六章&nbsp;搭建业务数仓理论基础和对表的分类同步 第七章&nbsp;业务数仓的搭建&nbsp; 业务行为数仓效果图&nbsp;&nbsp;
相关文章
|
小程序 JavaScript
【微信小程序】-- 自定义组件 - 数据监听器 (三十四)
【微信小程序】-- 自定义组件 - 数据监听器 (三十四)
|
移动开发 Android开发 HTML5
uniapp视频播放功能
uniapp视频播放功能
2340 0
|
21天前
|
弹性计算 固态存储 测试技术
阿里云服务器收费标准2026年最新:轻量38元与ECS 99元、199元爆款配置全解析
2026年阿里云推出三档高性价比服务器:38元/年轻量(2核2G,适合个人博客与学习)、99元/年ECS(2核2G+ESSD+VPC,入门生产首选)、199元/年ECS(2核4G+60G ESSD,适配数据库与容器)。本文详解配置、场景与避坑指南,助你理性选型。
308 1
|
2月前
|
人工智能 自然语言处理 数据可视化
使用 WorkBuddy + Sive API,做无限可能的数据分析和可视化
现在 AI 时代,除了 Coding, 办公也开始全名 AI 辅助了,比如现在各种桌面端大战,各类产品都需要考虑如何把自己交给 AI 作为弹药,Sive 就提供了一套 OpenAPI,将数据分析能力完全暴漏给 AI Agent。
440 0
|
8月前
|
Linux API 网络安全
OpenClaw(Clawdbot)本地+阿里云部署实操:知识库搭建与大模型API对接全流程
在2026年的AI办公实践中,将本地分散的PDF、Markdown、Word等文档转化为可检索、可问答的智能知识库,成为提升工作效率的核心需求。但实际操作中,开发者常面临资料检索效率低、向量库搭建环境依赖复杂、大模型对接流程不清晰等问题。OpenClaw(原Clawdbot)作为轻量级的RAG(检索增强生成)框架,可实现本地文档的快速向量化、检索与问答闭环,同时支持本地多系统(MacOS/Linux/Windows11)与阿里云服务器部署,还能灵活对接阿里云千问系列大模型及免费的Coding Plan API,兼顾数据隐私性与AI问答能力。本文将详细拆解2026年OpenClaw的全平台部署步
3233 13
|
12月前
|
数据采集 人工智能 数据可视化
AI 加持,和你的“地图小白”身份说再见!
DataV Atlas地理数据编辑器,让普通人也能轻松绘制地图!无需GIS基础,通过AI对话即可生成行政区、电子围栏、物流路线等矢量数据,支持手绘、几何运算与空间分析,助力数据可视化与业务决策。
1513 3
|
小程序 JavaScript 前端开发
微信小程序(十七)小程序监听返回键跳转事件(安卓返回也适用)
onUnload:function(){ wx.redirectTo({ url: '../index/index' }) wx.navigateTo({ url: '../index/index' }) wx.switchTab({ url: '../../member/member' }) }
2151 0
|
存储 JavaScript 前端开发
vue前端自适应布局,一步到位所有自适应
【8月更文挑战第9天】在Vue前端实现全面自适应布局颇具挑战,但可通过多种方法达成接近目标的效果。首先,结合BootstrapVue或Element UI等响应式框架简化布局实现过程;其次,利用Sass或Less等预处理器增强CSS编写灵活性;再者,发挥Vue的响应式特性,动态调整组件尺寸与位置;同时采用Flexbox及媒体查询技术确保不同屏幕尺寸下的一致体验;针对移动设备,采取移动优先策略并使用专门框架优化表现;最后,多平台测试与细致调优保证布局效果。综合运用上述策略,可在复杂多变的设备环境中打造近乎完美的自适应布局。
1460 1
|
JavaScript
npm install 报错 import sys; print“%s.%s.%s”% sys.version_info[ :3] ;
npm install 报错 import sys; print“%s.%s.%s”% sys.version_info[ :3] ;
750 3
|
前端开发
element-ui组件DatePicker日期选择器移动端兼容
element-ui组件DatePicker日期选择器移动端兼容
element-ui组件DatePicker日期选择器移动端兼容