Графические элементы не обновляются при перетаскивании MapView - PullRequest
0 голосов
/ 25 сентября 2018

Есть ли способ заставить центрированную точку двигаться при перетаскивании карты?В настоящее время кажется невозможным ни добавлять графику, ни удалять их, пока происходит перетаскивание.

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 вы можете видеть, что событие «движение указателя» срабатывает, потому что координаты обновляются даже при перетаскивании.

Есть ли возможный обходной путь для этого?

Спасибо ввперед.

...