Как удалить пин-код из переменных в JavaScript? - PullRequest
0 голосов
/ 31 марта 2020

Я хочу удалить пин-код, используя данные, которые сохранены в JavaScript Переменные, x и y. Как я могу это сделать? Ниже приведен код для удаления булавки и получения координат, есть ли способ, которым я могу изменить его так, чтобы я уронил булавку, используя данные, сохраненные в переменных?

<script>
      require([
        "esri/widgets/Sketch",
        "esri/Map",
        "esri/layers/GraphicsLayer",
        "esri/views/MapView"
      ], function(Sketch, Map, GraphicsLayer, MapView) {
        const layer = new GraphicsLayer();

        const map = new Map({
          basemap: "streets",
          layers: [layer]
        });

        const view = new MapView({
          container: "viewDiv",
          map: map,
          zoom: 5,
          center: [90, 45]
        });
		
		var symbol = {
                    type: "simple-marker",  // autocasts as new SimpleMarkerSymbol()
                    style: "circle",
                    color: "blue",
                    size: "8px",  // pixels
                    outline: {  // autocasts as new SimpleLineSymbol()
                    color: [ 255, 255, 0 ],
                    width: 1  // points
                    }
                };

        const sketch = new Sketch({
          layer: layer,
          view: view,
		  symbol: symbol,
          availableCreateTools: ["point"]
        });

        view.ui.add(sketch, "top-right");
        
        sketch.on('create', function (evt) {
        if (view.zoom >= 11) {
			// check if the create event's state has changed to complete indicating
            // the graphic create operation is completed.
          let gra = evt.graphic.clone();
          evt.graphic.layer.removeAll();
          gra.symbol.color = "blue";
          layer.add(gra);
          console.log("X = ", gra.geometry.x);
          console.log("Y = ", gra.geometry.y);
        } else {
          alert("please zoom in");
          evt.graphic.layer.remove(evt.graphic);
        }
      });
      });
    </script>

Пожалуйста, помогите.

1 Ответ

1 голос
/ 01 апреля 2020

Если я понимаю вопрос, вы хотите добавить точку на карту, используя значения X и Y.

Для этого есть учебник - https://developers.arcgis.com/javascript/latest/guide/display-point-line-and-polygon-graphics/

Упрощение этого учебного пособия / примера, чтобы показать, как просто создать график c на основе точки (с X и y) и символа - https://codepen.io/bsvensson/pen/GRJeMeR

  // Create a point
  var point = {
    type: "point",
    longitude: -118.80657,
    latitude: 34.00059
  };
  var simpleMarkerSymbol = {
    type: "simple-marker",
    color: [226, 119, 40], // orange
    size: 30,
    style: "triangle", // default is a circle
    outline: {
      color: [255, 255, 255], // white
      width: 2
    }
  };
  var pointGraphic = new Graphic({
    geometry: point,
    symbol: simpleMarkerSymbol
  });
  graphicsLayer.add(pointGraphic);
...