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\]

相关推荐
不会敲代码12 小时前
手写 Zustand:三十分钟带你搞懂状态管理库的核心原理
前端·javascript·源码
神奇的程序员2 小时前
重构了自己5年前写的截图插件
前端·javascript·架构
橙淮2 小时前
从优化到安全再到未来 ——JavaScript 全维度技术指南
javascript
诚实可靠王大锤4 小时前
React Native 输入框与按钮焦点冲突解决方案(rn版本0.70.3)
前端·javascript·react native·react.js
zithern_juejin7 小时前
Date/RegExp/Error/ArrayBuffer
javascript
燐妤8 小时前
前端HTML编程5:JavaScript完全指南
前端·javascript·html
八月欢喜8 小时前
【Facebook】 实时消息监控难点解析
javascript·python·facebook
zithern_juejin8 小时前
Map/Set/WeakMap/WeakSet
javascript
砚底藏山河9 小时前
python、JavaScript 、JAVA,定制化数据服务,助力业务高效落地
java·javascript·python
11_x9 小时前
JS 底层:乖宝宝引擎和乖宝宝声明
javascript