zoukankan      html  css  js  c++  java
  • 移动目标在三维GIS中的实现方法

    对于基于ArcGIS Runtime的应用程序,其实现方法比较简单,可以直接更新图形的Geometry属性,即可实现位置的移动:

     1         private void AddGraphics()
     2         {
     3             var glyr = new GraphicsOverlay();
     4             glyr.SceneProperties.SurfacePlacement = SurfacePlacement.Absolute;
     5             map1.GraphicsOverlays.Add(glyr);
     6 
     7             var ptn = new MapPoint(0, 0, 1000000, SpatialReferences.Wgs84);
     8             var sym = new SimpleMarkerSceneSymbol(SimpleMarkerSceneSymbolStyle.Sphere, Colors.Yellow, 100000, 100000, 100000, SceneSymbolAnchorPosition.Center);
     9             var g = new Graphic(ptn, sym);
    10             glyr.Graphics.Add(g);
    11             Timer timer = new Timer(1000);
    12             timer.Elapsed += async (sender, e) => await Task.Run(()=> { UpdateGraphics(g); });
    13             timer.Start();
    14         }
    15 
    16         private void UpdateGraphics(Graphic g)
    17         {
    18             var old_ptn = g.Geometry as MapPoint;
    19             var new_ptn = new MapPoint(old_ptn.X+1, 0, 1000000, SpatialReferences.Wgs84);
    20             g.Geometry = new_ptn;
    21         }

    对于基于ArcGIS JavaScript API的Web应用,则需要通过external-renderer来进行实现动画渲染。

    具体可以参加以下示例:https://developers.arcgis.com/javascript/latest/sample-code/sandbox/index.html?sample=scene-external-renderer

  • 相关阅读:
    git 操作
    移动端Web开发注意事项(响应式)
    jQuery插件通用写法
    关于清除浮动(BFC),float和inline-block
    js和css的顺序关系及js加载执行优化探索
    表单验证
    日期比较
    常用正则表达式
    js事件线程机制和异步执行
    阻止事件冒泡
  • 原文地址:https://www.cnblogs.com/luwl/p/6944491.html
Copyright © 2011-2022 走看看