ArcGIS API for JS-在网页实现类似飞行的效果

前几天师兄让我做一个小demo:
在地图上画几个点或者几条线,然后使用飞行,一个个飞过去
想了一下,这个demo主要有两块内容:

  1. 在地图上画几条线
  2. 沿着这几条线“飞行”

第一块之前写过,所以问题不大。
难的是第二块,怎么实现“飞行”?刚开始我的想法是把一个小飞机放到上面,然后让这个小飞机沿着线移动。
但是这个方案我想了很久第一步都实现不了,害,去请教师兄了。
师兄说只需要画几条线,把这些线上的点记录下来,使用goTo()函数改变屏幕中心点,这样就能实现模拟飞行了。
代码:


<html>
  <head>
    <meta charset="utf-8" />
    <meta
      name="viewport"
      content="initial-scale=1,maximum-scale=1,user-scalable=no"
    />
<title>绘制折线并模拟飞行</title>

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

    <style>
      html,
      body,
      #viewDiv {
   
        height: 100%;
        width: 100%;
        margin: 0;
        padding: 0;
      }
    </style>
    <script>
      require([
        "esri/Map",
        "esri/views/MapView",
        "esri/views/draw/Draw",
        "esri/Graphic",
        "esri/geometry/geometryEngine",
        "esri/widgets/CoordinateConversion",
        "esri/geometry/support/webMercatorUtils"
      ], function(Map, MapView, Draw, Graphic, geometryEngine, CoordinateConversion, webMercatorUtils) {
   
        const map = new Map({
   
          basemap: "gray"
        });

        const view = new MapView({
   
          container: "viewDiv",
          map: map,
          zoom: 13,
          center: [114.91, 30.03]
        });

        // 把绘制直线的按钮添加到页面上 
        view.ui.add("line-button", "top-right");
        // 把飞行按钮添加到页面上
        view.ui.add("fly-button", "top-right");

       // Draw是一个有强大功能的绘图工具,比如绘制不相交的折线
       const draw = new Draw({
   
          view: view
        });

        // 绘制折线按钮点击事件
        document.
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ArcGIS API for JavaScript 4.x 提供了绘制风场效果的功能。使用该API,你可以通过以下步骤来实现绘制风场效果: 1. 安装 ArcGIS API for JavaScript 4.x 2. 在 HTML 文件中添加如下代码引入 API: ```html <link rel="stylesheet" href="https://js.arcgis.com/4.15/esri/themes/light/main.css"> <script src="https://js.arcgis.com/4.15/"></script> ``` 3. 创建地图: ```javascript require([ "esri/Map", "esri/views/MapView", ], function(Map, MapView) { var map = new Map({ basemap: "streets" }); var view = new MapView({ container: "viewDiv", map: map, center: [-118.805, 34.027], zoom: 13 }); }); ``` 4. 创建风场图层: ```javascript require([ "esri/layers/WindLayer", ], function(WindLayer) { var windLayer = new WindLayer({ urlTemplate: "path/to/wind/data/{z}/{y}/{x}.json", displayOptions: { velocityType: "wind", displayPosition: "bottom-right" } }); map.add(windLayer); }); ``` 其中,`urlTemplate` 参数指定了风场数据的 URL 模板,`displayOptions` 参数指定了风场图层的显示选项。 5. 可选:设置风场图层的样式和渲染器。 ```javascript var windRenderer = { type: "simple", symbol: { type: "simple-line", color: [255, 0, 0, 0.5], width: 1 } }; windLayer.renderer = windRenderer; ``` 这里的代码设置了风场图层的渲染器为简单渲染器,并设置了符号为红色半透明线。 6. 运行应用程序,查看风场效果。 以上就是使用 ArcGIS API for JavaScript 4.x 绘制风场效果的基本步骤。需要注意的是,风场数据需要通过特定的格式存储,可以使用第三方工具生成或者自己编写程序生成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值