ArcGIS Maps SDK for JavaScript:根据经纬度定位,并添加定位标记

文章目录

    • [1 示例代码](#1 示例代码)
    • [2 SimpleMarkerSymbol相关属性](#2 SimpleMarkerSymbol相关属性)

在很多业务场景中,我们经常需要根据某个经纬度在地图上进行定位,并显示一个标记来指示该位置。本文将通过一个简单的例子,展示如何使用 ArcGIS Maps SDK for JavaScript 实现以下功能:

  1. 根据给定的经纬度定位。
  2. 在地图上添加一个标记,显示该位置。

1 示例代码

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>ArcGIS JS API - Add Graphic to Map</title>
  <link rel="stylesheet" href="https://js.arcgis.com/4.27/esri/themes/light/main.css">
  <script src="https://js.arcgis.com/4.23/"></script>
</head>
<body>
  <div id="viewDiv" style="width:100%; height:100%;"></div>
  <script>
    require([
      "esri/Map",
      "esri/Graphic",
      "esri/layers/GraphicsLayer",
      "esri/geometry/Point",
      "esri/symbols/SimpleMarkerSymbol",
      "esri/views/MapView"
    ], function(Map, Graphic, GraphicsLayer, Point, SimpleMarkerSymbol, MapView) {

      // 创建地图对象
      const map = new Map({
        basemap: "streets-navigation-vector"
      });

      // 创建一个GraphicsLayer实例,用于添加图形
      const graphicsLayer = new GraphicsLayer();

      // 创建地图视图
      const view = new MapView({
        container: "viewDiv",  // 指定HTML容器
        map: map,
        center: [118.80500, 34.02700],  // 初始位置(经度,纬度)
        zoom: 13
      });

      // 将GraphicsLayer添加到地图
      map.add(graphicsLayer);

      // 创建一个点图形(指定经度和纬度)
      const point = new Point({
        longitude: 118.80500,
        latitude: 34.02700
      });

      // 创建符号(MarkerSymbol)
      const markerSymbol = new SimpleMarkerSymbol({
        color: "red", // 标记颜色
        style: "diamond",// 标记样式
        size: "12px",// 标记大小
        outline: {// 标记外轮廓
          color: [255, 255, 255],
          width: 2
        }
      });

      // 创建图形(Graphic),并指定点、符号
      const pointGraphic = new Graphic({
        geometry: point,
        symbol: markerSymbol
      });

      // 将图形添加到GraphicsLayer
      graphicsLayer.add(pointGraphic);

	  // 设置地图视图中心到定位的经纬度并设置缩放级别
	  view.goTo({
	    //center: [point.longitude, point.latitude],
	    center: point,
	    zoom: 14
	  });
    });
  </script>
</body>
</html>

2 SimpleMarkerSymbol相关属性

更多信息参考

1\] \[2\]

相关推荐
riuphan9 小时前
JavaScript 中的 this 关键字
javascript
掰头战士9 小时前
五分钟带你深入了解 this
javascript
biubiubiu_LYQ9 小时前
萌新小白基础理解篇之 this 关键字
前端·javascript
甜味弥漫9 小时前
深度解析 JS 中的 this 指向:从底层逻辑到实战规则
javascript·面试
爱上好庆祝9 小时前
学习JS第十一天(JS的进阶)
前端·javascript·学习
kisshyshy11 小时前
# 🔥 数组去重:从双重循环到 Set,面试官想听什么?
javascript·面试
RD_daoyi11 小时前
Google 网站收录全流程解析:抓取、索引与排名机制详解
前端·javascript·人工智能·学习·搜索引擎·html
@大迁世界11 小时前
AI还替不了的JS能力
开发语言·前端·javascript·人工智能·ecmascript
暗冰ཏོ11 小时前
2026前端开发资源整理大全:从基础学习到工程化实战的完整导航
前端·javascript·css·前端框架·html
HackTwoHub12 小时前
AI赋能Chrome MCP × JS逆向Skill自动化JS逆向挖洞
javascript·人工智能·chrome·安全·web安全·网络安全·自动化