拖动MapView时图形项未刷新

时间:2018-09-25 13:27:58

标签: arcgis esri arcgis-js-api esri-javascript-api

是否有任何方法可以使中心点在拖动地图时移动?当前似乎无法在拖动发生时添加图形或将其删除。

require([
    "esri/Map",
  "esri/views/MapView",
  "esri/Graphic",
  "esri/core/watchUtils",
  "dojo/domReady!"
], function(
    Map,
  MapView,
  Graphic,
  watchUtils
){
    var map = new Map({
    basemap: "hybrid"
  });

  var view = new MapView({
    container: "map",
    map: map,
    constraints: {
        rotationEnabled:false
    }
  });

  var addPoint = function(point){
    view.graphics.removeAll();
    var graphicPoint = {
        type: "point",
      latitude: point.latitude,
      longitude: point.longitude
    };

    var markerSymbol = {
        type: "simple-marker",
      color: [85,139,197],
      outline: {
        color: [255,255,255],
        width:2
      }
    };

    var pointGraphic = new Graphic({
        geometry: graphicPoint,
      symbol: markerSymbol
    });

    view.graphics.add(pointGraphic);
  };

  var centerPoint = function(){
    var point = view.center;
    var input = document.getElementById("myInput");
    input.value = point.latitude.toFixed(5) + " " + point.longitude.toFixed(5);
    addPoint(point);
  };

  var showCenterCoords = function(){
    centerPoint();
    view.on("pointer-move", function(e){
        centerPoint();
    });
  };

  view.when(function(){
    showCenterCoords();
  });
});

https://jsfiddle.net/wrtqn2e3/3/

我使用Esri Js API 4.8。

如果您查看INPUT窗口,则可以看到“指针移动”事件已触发,因为坐标甚至在拖动时也会刷新。

有没有可能的解决方法?

谢谢。

0 个答案:

没有答案