<\/P>
He hablado mucho sobre la ArcGIS API for JavaScript 4.0beta1<\/A> últimamente. He proclamado mi amor por los Accessors<\/A>, y creo que las Promises<\/A> son geniales. Hay un concepto completamente nuevo de separar el mapa y la vista<\/A>. Está lleno de cosas buenas. Sin embargo, está en beta<\/EM>. Así que no todo está al 100% y algunas cosas simplemente no están listas todavía.<\/P><\/P>Pero eres impaciente. Te gusta vivir al límite. Bebes vino directamente de la botella<\/EM>. ¡Quieres que algunas cosas funcionen ahora! Una de las cosas que no están en la API 4.0beta1 es la edición. Si miras la documentación para un FeatureLayer<\/A>, no tiene capacidades de edición en este momento. Las tendrá, pero aún no.<\/EM> Eso está bien. Eres un desarrollador... tú puedes con esto<\/EM><\/STRONG>.<\/P><\/P>¿Qué es editar después de todo? Editar no es más que una capacidad de un servicio de entidades en el ArcGIS REST API<\/A>. Ya te lo he dicho antes, aprende a hablar REST <\/A>y todo lo demás simplemente encaja<\/EM>. Para este caso, asumamos que solo quieres agregar entidades al servicio. Hay una capacidad específicamente para eso<\/A>. Incluso tiene un ejemplo de cómo será la solicitud y la respuesta. No puede ser más simple que eso.<\/P><\/P>Así que este editor de ejemplo es tan simple como puedes conseguir para agregar entidades a un Feature Service.<\/P>var Editor = declare(null, { constructor: function (params) { this.map = params.map; this.layer = params.layer; }, add: function (graphic) { var data = graphic.toJSON(); var map = this.map; var layer = this.layer; \/\/<\/SPAN>http:\/\/resources.arcgis.com\/en\/help\/arcgis-rest-api\/index.html#\/_Add_Features_\/_02r30000010m000000\/_<\/A> var url = this.layer.url + "\/_addFeatures"; map.remove(layer); esriRequest({ url: url, content: { features: JSON.stringify([data]), } }, { usePost: true }).then(function (response) { map.add(layer); }).otherwise(function () { map.add(layer); }); }});<\/PRE>Eso es todo.<\/EM> Proporciona un Map y un FeatureLayer y estarás listo.<\/P><\/P>Observa que por ahora, necesitas remover la capa del mapa y luego agregarla nuevamente para que se muestren las ediciones. ¡Beta!<\/EM><\/STRONG><\/P><\/P>Sólo estoy usando esto en un servicio compartido, pero esri/request<\/EM> debería poder manejar la autenticación por ti si la necesitas. No me lo tomes como seguro ahora mismo, aún no lo he probado.<\/EM><\/P><\/P>¿Necesitas soportar eliminaciones y actualizaciones?<\/STRONG> Mira los endpoints para eliminar<\/A> entidades y actualizar<\/A>. O simplemente usa applyEdits<\/A> y gestiona como quieras. Recuerda... ¡Todo es solo REST amigo!<\/EM>
Así que este editor de ejemplo es tan simple como puedes conseguir para agregar entidades a un Feature Service.<\/P>
var Editor = declare(null, { constructor: function (params) { this.map = params.map; this.layer = params.layer; }, add: function (graphic) { var data = graphic.toJSON(); var map = this.map; var layer = this.layer; \/\/<\/SPAN>
Eso es todo.<\/EM> Proporciona un Map y un FeatureLayer y estarás listo.<\/P><\/P>Observa que por ahora, necesitas remover la capa del mapa y luego agregarla nuevamente para que se muestren las ediciones. ¡Beta!<\/EM><\/STRONG><\/P><\/P>Sólo estoy usando esto en un servicio compartido, pero esri/request<\/EM> debería poder manejar la autenticación por ti si la necesitas. No me lo tomes como seguro ahora mismo, aún no lo he probado.<\/EM><\/P><\/P>¿Necesitas soportar eliminaciones y actualizaciones?<\/STRONG> Mira los endpoints para
Aquí hay una demostración de este módulo en acción<\. A>
Así que adelante, inténtalo. Beta es beta, pero a veces tienes que hacer lo que tienes que hacer.
¡Así que adelante y hackea amigos míos!
Para más consejos y trucos geodev, visita mi blog.
Los miembros registrados pueden publicar, seguir actualizaciones y más. ¿Nuevo aquí? Regístrate gratis.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.