1

有什么方法可以在拖动地图时使中心点移动?目前似乎无法在拖动时添加图形或删除它们。

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 窗口,您会看到“指针移动”事件触发,因为即使在拖动时坐标也会刷新。

发生这种情况是否有可能的解决方法?

提前致谢。

4

0 回答 0