<\/P>
Takže jsem nedávno hodně mluvil o ArcGIS API for JavaScript 4.0beta1<\/A>. Vyznával jsem svou lásku k Accessors<\/A> a myslím, že Promises<\/A> jsou skvělé. Je tu úplně nový koncept oddělení mapy a pohledu<\/A>. Je to plné skvělých věcí. Je to však beta<\/EM>. Takže ne všechno je 100% a některé věci ještě nejsou úplně připravené.<\/P><\/P>Ale jsi netrpělivý. Máš rád žití na hraně. Piješ víno přímo z lahve<\/EM>. Chceš, aby něco fungovalo hned! Jedna z věcí, která v 4.0beta1 API není, je úprava. Pokud se podíváš na dokumentaci pro FeatureLayer<\/A>, momentálně nemá žádné editační schopnosti. Bude je mít, jen zatím ne.<\/EM> To je ale v pořádku. Jsi vývojář... to zvládneš<\/EM><\/STRONG>.<\/P><\/P>Co je vlastně úprava? Úprava není nic jiného než schopnost feature service v ArcGIS REST API<\/A>. Už jsem ti říkal, nauč se mluvit REST <\/A>a všechno ostatní pak zapadne do sebe<\/EM>. Pro tento případ předpokládejme, že chceš jen přidávat prvky do služby. Existuje speciální schopnost právě pro tohle<\/A>. Dokonce má ukázku, jak bude vypadat požadavek a odpověď. Nemůže to být jednodušší.<\/P><\/P>Tento ukázkový editor je tedy tak jednoduchý, jak jen může být, pro přidávání prvků do 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\/#\/_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><\/P>To je vše.<\/EM> Poskytněte Map a FeatureLayer a jste připraveni.<\/P><\/P>Všimni si, že momentálně musíš vrstvu z mapy odstranit a pak ji znovu přidat, aby se úpravy zobrazily. Beta!<\/EM><\/STRONG><\/P><\/P>Používám to jen na sdílené službě, ale esri/request<\/EM> by měl zvládnout autentizaci za tebe, pokud ji potřebuješ. Neberte mě na slovo, ještě jsem to nezkoušel.<\/EM><\/P><\/P>Potřebuješ podporu mazání a aktualizací?<\/STRONG> Podívej se na delete<\/A> features a update<\/A> endpointy. Nebo prostě použij applyEdits<\/A> a spravuj to podle sebe. Pamatuj... Je to všechno jen REST člověče!<\/EM><\/STRONG><\/P><\/P>Zde je demo tohoto modulu v akci<\/A>.
Tento ukázkový editor je tedy tak jednoduchý, jak jen může být, pro přidávání prvků do 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>
To je vše.<\/EM> Poskytněte Map a FeatureLayer a jste připraveni.<\/P><\/P>Všimni si, že momentálně musíš vrstvu z mapy odstranit a pak ji znovu přidat, aby se úpravy zobrazily. Beta!<\/EM><\/STRONG><\/P><\/P>Používám to jen na sdílené službě, ale esri/request<\/EM> by měl zvládnout autentizaci za tebe, pokud ji potřebuješ. Neberte mě na slovo, ještě jsem to nezkoušel.<\/EM><\/P><\/P>Potřebuješ podporu mazání a aktualizací?<\/STRONG> Podívej se na
Tak do toho, vyzkoušej to. Beta je beta, ale někdy prostě musíš udělat co musíš.
Tak jdi a hackuj přátelé!
Pro více tipů a triků z geodev světa, <A href="http:\/\/odoe.net/blog\/
Přihlášení členové mohou přispívat, sledovat aktualizace a další. Nový zde? Zaregistrujte si bezplatný účet.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.