ArcGIS Maps SDK for JavaScript(一):概述与使用

news2024/9/23 3:28:18

文章目录

  • 1 概述
  • 2 如何使用ArcGIS Maps SDK for JavaScript
    • 2.1 AMD 模块与 ES 模块
    • 2.2 AMD 模块和 ES 模块比较
  • 3 几种安装方式
    • 3.1 通过 ArcGIS CDN 获取 AMD 模块
    • 3.2 通过 NPM 运行 ES 模块
    • 3.3 通过 CDN 获取 ES 模块
    • 3.4 本地构建 ES
    • 3.5 本地构建 AMD
  • 3 VSCode下载与安装
    • 2.1 下载
    • 2.2 安装
    • 2.3 安装汉化插件
    • 2.4 安装Live Server插件
      • 2.4.1 Live Server 简介
      • 2.4.2 VS Code 设置 Live Server 默认浏览器

1 概述

ArcGIS Maps SDK for JavaScript(以前称为 ArcGIS API for JavaScript),是Esri(环球信息科技公司)开发的一款开发的一款基于JavaScript的webGIS开发工具,用于构建网络制图和空间分析应用程序。SDK 包含 JavaScript API、API 参考、文档、示例和其他资源,可帮助构建网络制图应用程序。截止到2020年6月,已经来到了4.27版本

官网链接:https://developers.arcgis.com/javascript/latest/

在这里插入图片描述

ArcGIS Maps SDK for JavaScript是一个强大的GIS工具,可以帮助开发人员构建出交互性的地图应用程序和各种GIS应用程序,使其更具有可操作性和实用性。使用ArcGIS Maps SDK for JavaScript,开发人员可以进行以下操作:

  1. 地图展示和交互: 可以使用该SDK构建交互性的地图应用,包括缩放、漫游、分层、标记和搜索等功能。

  2. 空间分析和数据可视化: 该SDK提供了广泛的空间分析工具和数据可视化选项,可以帮助用户更好地理解和处理各种地理数据。

  3. 位置感知和路由: 该SDK提供有关位置感知和路由的工具,可以帮助用户在地图上查找地址或路线,并快速找到最佳路径。

  4. 常规GIS操作和应用程序开发: 该SDK可以帮助用户构建常规GIS应用程序,如地图编辑器和地图查询工具。开发人员可以使用ArcGIS Maps SDK for JavaScript来开发自己的GIS应用程序,扩展GIS功能并提高工作效率。

2 如何使用ArcGIS Maps SDK for JavaScript

将 ArcGIS Maps SDK for JavaScript 引入应用程序有多种选择。最常见的方法是通过 ArcGIS CDN 获取 AMD 模块,也可以使用 ES 模块进行本地构建。

ArcGIS Maps SDK for JavaScript 有 AMD 和 ES 两种模块。自 4.0 版起,API 以 AMD 的形式发布。ES 模块从 4.18 版开始提供。

AMD 模块采用异步模块定义格式,使用 require() 方法和第三方脚本加载器加载模块及其依赖项。

ES 模块(也称为 ECMAScript 模块或简称 ESM)是一种官方的标准化模块系统,可通过import语句与所有现代浏览器配合使用。ES 模块不需要单独的脚本加载器。

2.1 AMD 模块与 ES 模块

如果您在使用 AMD CDN 时没有 JavaScript 框架或本地构建工具,则无需迁移。未来,AMD 模块仍将可用。

如果您正在使用框架或构建工具启动一个新项目,并且没有使用 Dojo 1 或 RequireJS,那么您应该使用 ES 模块。

ES 模块和 AMD 模块实现了相同的 API 功能。例如,以下代码片段提供了同等功能。

ES 模块:

import Map from '@arcgis/core/Map.js';
import MapView from '@arcgis/core/views/MapView.js';

const map = new Map({
  basemap: "topo-vector"
});

const view = new MapView({
  container: "viewDiv",
  map: map
});

AMD 模块

require(["esri/Map", "esri/views/MapView"], (Map, MapView) => {
  const map = new Map({
    basemap: "topo-vector"
  });

  const view = new MapView({
    container: "viewDiv",
    map: map
  });
});

2.2 AMD 模块和 ES 模块比较

以下是一些使用 AMD 和 ES 模块的常见原因。

CDN (AMD)CDN (ESM)本地构建 ESM本地构建 AMD
无需进行安装、配置或本地构建
通过 CDN 实现快速下载
仅供测试
可通过 npm 轻松安装
与大多数现代框架和构建工具无缝集成
通过框架或构建工具使用 4.17 或更早版本的应用程序接口
使用 Dojo 1 或 RequireJS

使用 AMD 的优势包括:

  • 下载速度快,缓存高度优化。
  • 无需安装或配置。
  • API 自动更新到最新版本。

ES 模块 仅用于测试,并未针对模块加载性能进行优化。要获得 ES 模块的最佳性能,请在本地构建它们。

3 几种安装方式

3.1 通过 ArcGIS CDN 获取 AMD 模块

访问 API 的最常用方法是使用托管版本。从我们的 CDN 引用 API 和 CSS,即可在您的应用程序中开始使用 API。

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

3.2 通过 NPM 运行 ES 模块

API 还可以通过 JavaScript 包管理器 npm 以 ES 模块的形式提供。您可以在本地安装 API,以便与 React 和 Angular 等 JavaScript 框架以及 webpack 或 rollup.js 等模块捆绑程序一起使用。

安装

npm install @arcgis/core

导入

import Map from "@arcgis/core/Map.js";

3.3 通过 CDN 获取 ES 模块

注意:这种方法目前只推荐用于开发和原型设计。

<link rel="stylesheet" href="https://js.arcgis.com/4.27/@arcgis/core/assets/esri/themes/light/main.css">
<script type="module">
  import Map from "https://js.arcgis.com/4.27/@arcgis/core/Map.js";

  // Use the Map class
</script>

3.4 本地构建 ES

ES 模块是用于现代 JavaScript 的官方标准化模块系统,已被所有主流浏览器采用。ArcGIS Maps SDK for JavaScript 的 ES 模块可通过 @arcgis/core 包从 npm 进行本地安装。

在本地构建 ES 模块的优势包括:

  • 标准化模块系统,与主流浏览器原生集成。
  • 不需要单独的辅助库或模块加载库。
  • 与大多数现代框架和构建工具无缝集成。
  • 在使用某些第三方库时,不会出现多重定义问题。
  • 为 node.js 部署提供服务器端功能,例如 geometryEngine。

但是也有缺点:API 更新需要安装新版本并重建应用程序。

本地构建 ES 官方教程:https://developers.arcgis.com/javascript/latest/es-modules/

3.5 本地构建 AMD

使用 Dojo 1 和 RequireJS 进行本地构建,推荐使用ArcGIS Maps SDK for JavaScript 的 AMD 模块。

  • 可使用 arcgis-js-api 通过 npm 在本地安装这些模块。
  • 对于 4.17 及更早版本的 API,您可以使用 @arcgis/webpack-plugin 通过 webpack 在本地构建模块。
  • 可以使用 esri-loader 辅助库从 CDN 远程加载模块。

本地构建 AMD 官网教程:https://developers.arcgis.com/javascript/latest/amd-build/

3 VSCode下载与安装

建议使用VScode进行ArcGIS Maps SDK for JavaScript代码编写,下面提供下载地址和安装步骤。

2.1 下载

官网下载地址:https://code.visualstudio.com/

在这里插入图片描述

  • 有时会因为网络原因无法下载,文末提供网盘链接。👇

在这里插入图片描述

2.2 安装

安装过程比较简单。主要是修改一下安装路径。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择一个你喜欢的主题,下一步即可。
在这里插入图片描述

2.3 安装汉化插件

点击下图红框内扩展按钮,或通过快捷键 Ctrl+Shift+X,打开扩展(插件)商店。

在这里插入图片描述
在搜索框中输入 Chinese,安装中文包,重启VSCode即可汉化成功。
在这里插入图片描述

2.4 安装Live Server插件

2.4.1 Live Server 简介

Live Server插件是一种服务器软件,可以在本地机器上设置服务器,以便在开发Web应用程序时实时刷新浏览器。它提供了即时刷新功能,可以大大提高Web开发的效率。

使用Live Server插件,可以监听HTML、CSS、JavaScript等文件的更改,并自动刷新浏览器,以便立即查看页面更改的效果。它还提供了一些其他功能,例如支持HTTPS、打印访问日志等。

在这里插入图片描述
安装完成后,在编辑器中右键,点击Open with Live Server即可显示网页内容
在这里插入图片描述

2.4.2 VS Code 设置 Live Server 默认浏览器

打开 VS Code,点击左下角齿轮,进入设置页面。

在这里插入图片描述

搜索框输入 live serve ,找到Custom Browser,选择想要的浏览器即可

在这里插入图片描述

一般来说,谷歌和火狐无法使用定位功能。若地图中用到定位功能,建议使用微软的Edge浏览器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/959028.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

澳洲留学: 学签将改革移民倾向不再是拒签理由!

目录 1. 澳洲留学: 学签将改革移民倾向不再是拒签理由! 2. GMAT考试: 新版GMAT考试8月29日正式开放报名! AP 学科考试报名时间轴公布 或许native speaker使用的英语没有想象中的那么难 如果有人不相信你&#xff0c;而你想让他们相信你&#xff0c;你需要表现出不可否认…

基于java+springboot+vue的点餐平台网站-lw-源码

​ 系统介绍&#xff1a; 随着现在网络的快速发展&#xff0c;网上管理系统也逐渐快速发展起来&#xff0c;网上管理模式很快融入到了许多商家的之中&#xff0c;随之就产生了“点餐平台网站”&#xff0c;这样就让点餐平台网站更加方便简单。 对于本点餐平台网站的设计来说…

【LeetCode】《LeetCode 101》第十二章:字符串

文章目录 12.1 字符串比较242 . 有效的字母异位词&#xff08;简单&#xff09;205. 同构字符串&#xff08;简单&#xff09;647. 回文子串&#xff08;中等&#xff09;696 . 计数二进制子串&#xff08;简单&#xff09; 12.2 字符串理解224. 基本计算器&#xff08;困难&am…

秋天露营怎么能少得了投影仪,极米Z7X见证你的每一个幸福时刻

秋高气爽&#xff0c;正是露营好时候。作为一种休闲娱乐的方式&#xff0c;露营近年来颇受年轻人喜爱。闲暇之余&#xff0c;约上三五好友&#xff0c;亦可情侣二人&#xff0c;带上野餐烧烤食材&#xff0c;到一处能够放飞自我的大自然中&#xff0c;欣赏风光美景&#xff0c;…

Python Qt学习(八)Treeview

源代码&#xff1a; # -*- coding: utf-8 -*-# Form implementation generated from reading ui file qt_treeview.ui # # Created by: PyQt5 UI code generator 5.15.9 # # WARNING: Any manual changes made to this file will be lost when pyuic5 is # run again. Do not…

乙酰六肽-49——治疗敏感肌肤

简介 敏感性皮肤&#xff08;sensitive skin&#xff09;和“皮肤过敏”是两个不同的概念&#xff0c;皮肤过敏是一种变态反应&#xff0c;由变应原进入机体后&#xff0c;促使机体产生相应的抗体&#xff0c;引发抗原抗体反应&#xff0c;表现为红斑、丘疹、风团等临床客观体…

软件定义网络:重新定义云计算网络架构

文章目录 软件定义网络的基本概念软件定义网络的工作原理软件定义网络在云计算中的应用与优势示例&#xff1a;软件定义网络配置未来发展和挑战结论 &#x1f389;欢迎来到AIGC人工智能专栏~软件定义网络&#xff1a;重新定义云计算网络架构 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&a…

广告宣传片策划的团队分工

一个优秀的广告宣传片制作团队能够结合创意、技术和项目管理能力&#xff0c;为客户提供高质量的宣传片制作服务。在广告宣传片的策划过程中&#xff0c;通常需要共同合作。深圳广告宣传片制作公司老友记小编还为您整理以下常见的广告宣传片策划团队的分工概述&#xff1a; 1.…

做CRM客户管理系统前要分析哪些数据?

01 做CRM客户管理系统前要分析哪些数据&#xff1f; “数据是21世纪的石油” 进行数据分析是做crm至关重要的步骤&#xff0c;根据我们团队的多年经验&#xff0c;本文总结出了两个需要重点考虑的方面&#xff1a; 1、客户基本信息 包括客户的基本档案、经营状况、客户特征…

如何有效防止服务器被攻击?

随着互联网的快速发展&#xff0c;服务器安全问题日益引起人们的关注。近期&#xff0c;全球范围内频繁发生的服务器攻击事件引发了广泛关注。为了保护企业和个人的数据安全&#xff0c;有效防止服务器被攻击已成为迫在眉睫的任务。 首先&#xff0c;及时更新服务器的操作系统和…

电子学会 2023年5月 青少年软件编程Python编程等级考试三级真题解析(选择题+判断题+编程题)

青少年编程Python编程等级考试三级真题解析(选择题+判断题+编程题) 2023年5月 一、选择题(共25题,共50分) 请选择,下面代码运行之后的结果是?( ) a = 2 b = 4 try:c = a * bprint(c) except:print

实战黑马苍穹外卖项目8.1-10.1

文章目录 软件开发的基本流程用户层网关层应用层数据层工具 数据库设计导入准备好的前端和后端工程基础工程代码分析完成员工功能完成菜品功能入门Redis实现店铺营业HttpClient微信小程序开发缓存Spring Cache实现地址功能用户下单实现订单推送状态apache对应的工具使用项目用到…

Python连接SQLite数据库基础教程

SQLite是一种轻量级的嵌入式数据库&#xff0c;常用于小型项目和移动应用程序。Python提供了内置的sqlite3模块&#xff0c;可以方便地连接和操作SQLite数据库。本文将介绍如何使用Python连接SQLite数据库&#xff0c;并进行基本的数据操作。 安装SQLite和sqlite3模块 首先&a…

技术实践|Hive数据迁移干货分享

导语 Hive是基于Hadoop构建的一套数据仓库分析系统&#xff0c;可以将结构化的数据文件映射为一张数据库表&#xff0c;并提供完整的SQL查询功能。它的优点是可以通过类SQL语句快速实现简单的MapReduce统计&#xff0c;不用再开发专门的MapReduce应用程序&#xff0c;从而降低…

如何使用CRM系统进行精细化管理客户?

客户是企业的生命线&#xff0c;对客户进行精细化管理&#xff0c;是提高企业收益的关键。那么&#xff0c;如何进行客户管理&#xff1f;CRM系统可以实现精细化管理客户&#xff0c;提升客户的价值。下面我们就来详细说一说。 1、获取客户信息 Zoho CRM系统可以通过web表单、…

二叉树题目:二叉树的右视图

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;二叉树的右视图 出处&#xff1a;199. 二叉树的右视图 难度 4 级 题目描述 要求 给定二叉树的根结点 root \t…

Git Bash 和 Git GUI中文汉化

目录 为什么要中文汉化&#xff1f;Git Bash的汉化Git GUI的汉化 为什么要中文汉化&#xff1f; 看到中文大概能猜出是什么意思&#xff0c;便于使用&#xff0c;特别是Git GUI&#xff0c;中文版的菜单很容易理解是要做什么&#xff0c;如下图&#xff1a; Git Bash的汉化 …

纽扣电池PSE认证检测标准是什么?纽扣电池PSE认证办理机构

中国制造商要申请PSE认证&#xff0c;首先要确定其申请的产品是否在中国质量认证中心(CQC)获得授权受理的认证CE范围内。由于目前CQC获得的授权是基于技术基准2&#xff0c;制造商须选择技术基准2申请PSE认证。确认后制造商可向CQC提出书面申请&#xff0c;并将样品与技术资料提…

Spring源码分析(九)Bean实例化的后置处理

目录 1.1 后置处理1.1.1 调用父类方法1.1.2 获取元数据1.1.3 注解元信息检查1.1.4 Member、InjectedElement、InjectionMetadata 官网&#xff1a;Home参考书籍&#xff1a;Spring源码深度解析-郝佳编著-微信读书 上一节我们详细的解释了Bean的创建过程&#xff0c;工厂&#…

OpenCV(二):认识Mat容器

目录 1.什么是Mat类 2.Mat类能存储的数据 整数类型&#xff08;有符号和无符号&#xff09;&#xff1a; 浮点数类型&#xff1a; 布尔类型&#xff1a; 3.Mat类的创建 1.利用矩阵宽、高和类型参数创建Mat类 2.利用矩陈Size(结构和数据类型参数创建Mat类 3.利用已有Mat…