当前位置: 首页 > news >正文

ArcGIS JS 基础教程(1):地图初始化(含AMD/ESM两种引入方式)

ArcGIS JS 系列基础教程(100个项目常用热门功能)

一、地图基础操作

1. ArcGIS JS 基础教程(1):地图初始化(含AMD/ESM两种引入方式)

功能介绍:ArcGIS JS 开发的基础,实现地图容器渲染、底图加载,支持AMD(传统引入,适配纯HTML Demo)和ESM(现代前端框架适配,如Vue/React)两种方式,是所有地图功能的前置操作。

功能实现:核心依赖 Map(地图实例)、MapView(2D视图),配置容器ID、底图类型、初始中心点和缩放级别,两种引入方式分别适配不同开发场景,确保地图正常渲染且无报错。

功能应用:所有ArcGIS JS项目的开篇步骤,如后台管理系统地图模块、移动端地图页面、WebGIS可视化项目的基础渲染。

核心代码

方式1:AMD引入(纯HTML Demo常用)
<linkrel="stylesheet"href="https://js.arcgis.com/5.0/esri/themes/light/main.css"/><scripttype="module"src="https://js.arcgis.com/5.0/"></script><scripttype="module">const[Map,SceneView,]=await$arcgis.import(["@arcgis/core/Map.js","@arcgis/core/views/SceneView.js",]);constmap=newMap({basemap:"streets"});constview=newMapView({container:"mapContainer",map:map,center:[-118.805,34.027],zoom:13});</script>
方式2:ESM引入(Vue/React等现代框架常用)
importMapfrom"@arcgis/core/Map";importMapViewfrom"@arcgis/core/views/MapView";constinitMap=()=>{constmap=newMap({basemap:"streets"});constview=newMapView({container:"mapContainer",map:map,center:[-118.805,34.027],zoom:13});};initMap();

完整代码:

<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title>第1课:ArcGIS JS 地图初始化(含AMD/ESM两种引入方式)</title><linkrel="stylesheet"href="https://js.arcgis.com/5.0/esri/themes/light/main.css"><scripttype="module"src="https://js.arcgis.com/5.0/"></script><style>body{margin:0;padding:0;font-family:"Microsoft YaHei",sans-serif;}#mapContainer{width:100vw;height:100vh;}.page-title{position:absolute;top:20px;left:50%;transform:translateX(-50%);background:rgba(255,255,255,0.9);padding:8px 20px;border-radius:4px;font-size:18px;font-weight:bold;z-index:100;}</style></head><body><h1class="page-title">ArcGIS JS 地图初始化</h1><divid="mapContainer"></div><scripttype="module">constMap=await$arcgis.import("@arcgis/core/Map.js");constSceneView=await$arcgis.import("@arcgis/core/views/SceneView.js");// 引入天地图工具类constgetTianditu=await$arcgis.import("https://openlayers.vip/examples/resources/tianditu.js");// 加载影像底图constimgLayers=getTianditu.default({type:"img_w"});constmap=newMap({basemap:{baseLayers:[imgLayers.base,imgLayers.anno]},ground:{surface:{elevationLayers:[{url:"https://www.geosceneonline.cn/image/rest/services/OpenData/ChinaTerrain3D/ImageServer/"}]}}});constview=newSceneView({container:"mapContainer",map:map,center:[118.805,34.027],zoom:13,tilt:45});view.when(()=>console.log("三维地图加载完成!"));</script></body></html>

在线示例

地图初始化(GitHub资源,等待时间较长,或者架梯子)


📌在线示例说明:点击上方链接即可查看完整的三维地图示例,代码基于 ArcGIS JS 5.0 和天地图底图,可直接运行查看效果。

http://www.cnnetsun.cn/news/1814320.html

相关文章:

  • hybrid实验
  • 电视盒子刷游戏系统emuelec 辣娃娃战神系统4.7.1-57g-最终版-V2.1(2026更新)
  • Flutter OH 性能分析-滑动响应时延
  • FlashStringTable:嵌入式Arduino的PROGMEM字符串高效管理方案
  • DETR注意力权重可视化实战:从原理到代码实现
  • 为什么87%的AI项目卡在MVP之后?:2026技术雷达图暴露5个被低估的工程化盲区
  • LMDB数据库高效操作指南 —— 图像与标签的批量处理技巧
  • 从零搭建工业EtherCAT主站:基于IGH 1.5.2的Linux内核模块编译与配置避坑指南
  • 解决Photoshop WebP格式兼容性痛点的WebPShop插件深度解析
  • IndexTTS-2-LLM在教育培训场景的应用:生成生动有趣的讲解语音
  • 使用钉钉远程操作你的claude code寺
  • Veo 3.1 AI 视频生成 + 字幕叠加完整实战指南
  • 最近在折腾工业仿真模型的时候,发现六层结构真是个神奇的存在。特别是手头有1200系列和1500系列设备的朋友,这两个系列的兼容性差异值得好好唠唠
  • springboot 微信小程序的线上水果店购物商城多商家
  • C# MemoryStream 实战技巧:从基础到高效内存管理
  • EmojiOne Color彩色字体:终极免费表情解决方案
  • 2026软文推广新篇:邯郸市佳铭文化解锁价值重塑与全域增长密码
  • 南航学位论文LaTeX模板:告别格式烦恼的终极解决方案
  • 2026年AI超级员工系统品牌大比拼,谁是行业口碑王?
  • Windows Server 多域间访问实施文档
  • 多功能空调控制系统的设计(有完整资料)
  • 怎么给word一键标注拼音?5款无坑工具,家长老师秒上手
  • APEX-Agents基准测试:揭开智能体时代AI的真实困境与挑战
  • 如何用SQL在保持明细的同时展示汇总值_巧用OVER子句
  • Unity集成puerTS与TypeScript实战:从零搭建热更新开发环境
  • M95系列SPI EEPROM嵌入式驱动库详解与工业级应用
  • 电源拓扑中关键元件电流有效值的计算与优化策略
  • 【AI原生研发成本效益黄金模型】:20年架构师首次公开5大动态因子量化公式与ROI预测看板
  • Soldered CAN FD库:Arduino快速接入MCP2518FD驱动指南
  • 商用烤鱼炉技术强的公司