ArcGIS API для JavaScript и dojo: lang.clone для выбранных объектов из векторного слоя

Я хотел бы клонировать в новый массив (глубокую копию без ссылок) объекты, которые я выбрал в слое объектов с помощью метода getSelectedFeatures().

Я пытаюсь использовать lang.clone из dojo, но он не работает. У меня есть эта ошибка: "TypeError: this._url является нулевым".

Я понимаю, что это происходит из векторного слоя. Но я не знаю, как исправить эту ошибку или даже если можно сделать то, что я хочу сделать таким образом. Я совсем новичок в JSAPI.

Я уже использовал lang.clone с serviceAreaPolygons из serviceAreaSolveResult, и он работал очень хорошо!

Может ли кто-нибудь помочь мне в этой проблеме? Заранее спасибо.

1 ответ

[По комментариям Клемини] Как сказано выше, используя ToJson метод для преобразования объектов в json и вставки их в новый графический объект

var graphic = centres.getSelectedFeatures()[i].toJson(); 
var selectionGraphic = new Graphic(graphic); 
selection.push(selectionGraphic);

Это разрешит вышеуказанную ошибку.

Надеюсь, что это поможет и другим:)

Другие вопросы по тегам