What's New: ArcGIS Maps SDK for JavaScript v4.27

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
all right [Music] foreign [Music] welcome and thank you so much for joining us uh today we're going to talk about the 427 release of the arcgis maps SDK for JavaScript um please let us know where you're joining us from in the chat I see we have some people from all over the United States do we have anyone from outside of the United States anyone joining from another country um let us know in the chat where you're coming from um so first we're going to go ahead and introduce ourselves give you a little fun fact about us and then we'll start going through some of the demos for 427. so my name is Ann Fitz I'm a product engineer on the JavaScript SDK and a fun fact about me is that I love to cook and some of my favorite things to make are Sushi and homemade pasta so next I'm gonna pass it to Julie hi everybody I'm Julie and I work as a product manager for the JavaScript SDK I'm joining from Encinitas California and I will hand it off to Arno you forgot your fun fact oh my god oh what's up blessed I thought you might notice that I skipped that okay we need a fun fact I um I lived in Spain um I cried a lot for the first year as I tried to learn Spanish and make friends and then it turned out to be great in the end was that fun yes that was fun okay thanks um yeah so my name is Arno I'm joining from Zurich I'm the 3D developer evangelist of the 3D JavaScript API and uh yeah I guess my fun fact is uh also about living growing up in the in the mountains first few years with three in a small town Village 300 habitants and the first few years in Primary School the first six years we were only three people in our class wow and yeah uh I'll pass it on to Tristan hi everyone I'm Tristan Morrison I'm a software engineer on the JavaScript SDK team and I work primarily on our editing components so the editor widget as well as the other widgets that are involved in that for the feature form widget feature templates anything editing related um I'm joining you all from uh near Leesburg Virginia it's outside of DC and uh my fun fact is that my wife and I uh live and work on a horse farm so in addition to working at my desk I'm also outside working a lot in the barn that's pretty fun he has a horse named Dorito it's awesome Lauren do you want to go next yeah yeah I'll go um I'm Lauren I'm a product engineer for the JavaScript FK team um I'm probably the only one on the call by headquarters in Redlands uh right now um a fun fact about me is I'm actually So Cal born and raised um and so I have been to Disneyland over 200 times in my life so just because I've had annual passes I don't pay for like per ticket I know that people are very shocked when I say that but I have grown up here all my life I'll pass it to Noah all right time Noah Sager I'm a product engineer also on the arcgis maps SDK for JavaScript team and my fun fact is I memorized every number in order so I'll pass it you gotta do something during the pandemic so uh I did that I'll pass it on to uh Sage uh hi everybody I'm Sage wall I live just outside of Denver Colorado and I'm a product engineer on the JavaScript SDK team uh my fun fact is I actually used to be an archaeologist that could code and slowly I've turned that around and so now I'm a product product engineer who does archeology on the weekends thanks and last but not least David hello everybody I'm David joining from Zurich as well I'm a software developer on the um Arc JIS Maps SDK for JavaScript 3D team and yeah I'm involved a lot with like editing as well on the 3D side um like rendering and visualization analysis okay across the board kind of and yeah my fantastic selecting I like doing music and sometimes uh thank you it's awesome all right so um thank you so much everyone for introducing yourselves and thank you everyone who's joining us live I see we have people from all over the world it's really awesome to see um Ghana Canada Alaska Indonesia just naming off a few um really really great that you're joining us here today um so I just want to say before we get into the demos feel free to add comments add questions in the chat we're going to be monitoring that as we go so if you have a question that comes up during any of the demos pop it in the chat and we'll get to it as soon as we can um with that I'm gonna go ahead and pass it off to Tristan who's going to talk about some of the editing enhancements in 427. yes so the the major editing enhancement this release is we have finally introduced support for editing related records and so if you're not familiar with related records um they're essentially the the arcgis version of um you know joining records in a database with foreign keys so they're you can have features in one layer that are somehow related or linked to features in other layers or tables so for this release we we only support uh related editing related records in tables that non-spatial tables as opposed to feature layers um so additional support for feature to feature relationships will be coming next release but for now I'd like to show you what we have in this release so this is just a very simple application using the editor widget and I'll show you just to prove the point this is the source code for oh I'm not sharing the whole screen well take my word for it the the um the source code for this app is 18 lines so there's there's not a lot of configuration that goes into this in the application code the configuration is done in the form template and you can define a form template without writing any code uh in um in map viewer using the form authoring tools or in using uh field maps and so I've configured my form ahead of time and now all I need to do is bring an instance of the editor widget into this application and it's referencing a web map and I can select this feature and this table or this feature layer and Z parcels is has two tables that are related to it permits and owners and so permits is a one-to-one relationship each parcel can only have one permit at a time and so this is the permit that's related to this parcel and so you see I was able to click on that and now I can either go back to the to editing the parcel that I was editing or I can make changes to this let's say that I've gotten an extension on this permit and so we want to change the expiration date and update and so it submitted those updates and it brought me right back to editing the parcel that I was editing and now let's take a look at the other related table the owners table a parcel can have multiple owners and so here we see that there are two owners for this parcel and I also have the option to create an additional owner to add a new record to the owner's table so I can click the add record button and I can do that oh gosh another my colleague Jose named the previous owners after uh NBA players and I'm not sure that I can I will what about LeBron James yeah I got that one I was trying to trying to not go for the very lowest hanging fruit but I guess that's where we're at um and now I can hit the create button and it creates that record and now I can see there's this additional related record here awesome we have a question in the chat um really quick Tristan the question is when is this related records editing available for non-hosted layers for example Enterprise databases that's a great question um support for uh editing related records in Enterprise layers whether they're hosted or non-hosted Arc objects feature services that will be coming in Enterprise um 11.2 it's the in the next version of Enterprise which will be I believe later this year um and so as as soon as uh the services support the the things that the editor widget needs in order to make edit related record editing work you'll be able to it'll just start working there won't be any additional uh changes require you won't have to wait for the next version of the JavaScript API great thank you all right well maybe Tristan are you all done with your demo we can hand it off to the next person yes I think um if there are no other questions I'll hand it off to the next person awesome all right so next we're going to pass it off to Arno and David to talk about some of the 3D updates uh looks like you can see my screen already um yeah first thing I'd like to talk about is a new type of Base map that we support in scene view which are web scenes so um this release we only support web scenes coming from the living Atlas uh one of them is the new topographic 3D base map that I'm going to select here um in the future you will be able to provide your own base Maps but for now it's the one that we provide out of the box here showing the base map gallery sample and we see here on the Globe view that we the base map comes with some specific new Styles and also some new 3D labels that now Orient according to so they're they're always we're into according to the view and when we zoom in we also see some new improved deconfliction so with the labels that we have here we have different sizes for the countries and cities and areas and what happens is that the deconfliction actually takes into account the size of the label so when they do conflict then the more important labels that are larger remain in the view in general we worked on the labeling improvements you also see that here on the draped base map making sure that they're no longer cut off and we also are more consistent with the map view is that in the scene view you can also now load static fonts directly that we provide here um or it's described here in in the guide uh how to access those uh fonts that are for example also used in the vector tile layer based Maps so you can also use them now directly in your custom web apps I'm going to zoom in a bit further sorry I'm going to interrupt you really quick um there's a question in the chat the 3D labels can they be in different languages other than English uh generally yes you would um so the the layer does I think it does provide different languages in in other attributes however you would have to go in and and apply The Styling yourself it's uh it's it's quite comprehensive um but you you could theoretically do this with the data that we're showing here so the label layer is essentially a a point scene layer that you could change the way the labels are displayed and and also access at a different different attribute localized attribute um so zooming into Paris here to show some of the other features of the 3D base map so we now have the trees and the osm buildings that we already provided as layers they're now part of this base map and you automatically get these When selecting the base map without having to go and search for the layers and let them to your scene the label layer also provides things like points of interest places together with icons that we see here we can zoom in a bit further and then we see some of the visual improvements that we added to the SDK now for example sharper labels and also edges even though if we scroll here have a closer look into at the source code even though the quality profile is medium so what happens is that in medium if you're not navigating if you're not interacting with the scene we increase the quality that is shown for for basically the the the resolution for the labels we add effects like ambient occlusion which vanishes when you navigate but then once the the scene becomes static again we add these effects to the scene so the benefit of this is basically that all users no matter what device um and what browser they are get the best quality possible without you as developers having to go in and change the quality settings directly on the scene View um yes and I think that is all I wanted to say for the base map Sample so I'm gonna no sorry one more thing this is not related to the base map but it's another aspect of this improved quality when you're not interacting with the scene so this is another sample that we have in the SDK it's a flood sample where we visualize a flood layer there's a polygon layer with a water symbology with this integrated mesh of Utrecht to basically uh visualize what a flood would look like in the city and what we have here or is another one of those effects that we add even if the quality profile is just medium before you had to set this to high in order to get these Reflections on the water you now get them also on medium quality when you interact with the scene they will go away but once the The View becomes stationary they're added then to to The View all right um I want to go back to the 3D base map one more time and uh here we're in scene viewer where you can also select this new base map directly in the um in the in the base map gallery and additionally to that we have more options to also tweak what part of the base map are shown so for example we can hide or show all the buildings but we can also mask out uh specific buildings like here by drawing a polygon so if you wanted to visualize your own 3D data in this area you can mask out whatever's there um and then persistes in the web scene and for example use it then afterwards load it in a custom JavaScript SDK app and you will have this mask and base map already applied to to that web scene um one more thing I wanted to point out we the the the 3D base map comes with schematic trees and what we did add in the last release for basically in scene viewer but also for the JavaScript SDK is a new website um style which is uh called Low poly vegetation so it's something between the realistic and the schematic vegetation that we already had and I'm gonna load the same trees here by hiding them in the base map quickly adding them back through the living Atlas I've got to press enter so these are the realistic ones and I'm gonna go in just to give you an idea what they look like um applying this new website symbol here in scene viewer low poly vegetation so for example we can create a force here in in New York with a bunch of Furs uh which uh yeah added a unique filing to your scenes with these with this type of trees or we can also add a one of those desert Willows which are also interesting add some colors to your scene so to give you more options basically to to visualize your scene in a different way and yeah these uh come out of the box either in scene viewer or through the JavaScript SDK um yeah and for one more 3D topic I'd like to hand over to David now cool yeah um yes so um another big feature um we introduced and this is a beta feature um is scene layer editing so yeah I'm playing a video of the female picture where we basically are able to now um use the Delta widget and this is fully integrated in scene view as well to basically upload 3D models into a scene layer and here you see in the in the upload dialog you can select files and you can select files of a lot of different file formats so here we have fbx or IFC files or obj files like um gitf files so the scene layer will take care of taking these files storing them this platform and also actually provides the conversion to Output formats which are relevant to your projects and and then basically will update the content of the theme layer for you so here we basically are uploading the model and now we can place the model in the scene and you can use the transform to to position the the model in the scene and you create the feature and then you can add additional files from different formats and this will all like the storing of the files in the scene layer and the conversion will all handle transparently try the scene layer for you you just place the models and then there will be with the service so this is uh important the models will be sort of services and this allows you to basically go in and update a 3D option scene layers and up to this point it was only possible to update attributes but now you can also update the geometry you can move the objects around you can detail it and you can add them and so on and the scene layer and so so for when you up after the attributes those were stored in an Associated feature layer and also the geometry is now stored in this Society feature layer and when you update the scene layer the scene layer itself is also an optimization of the content of the scene and in order to to benefit from the optimization you have to do this process which we call cooking so here there's an online you have the item here and then if you go to settings you can go down and you can click this button here rebuild cache and this cache we are building the the optimization data structure which allows us to more efficiently display the data in this scene so if you have a lot of edits then you want to reboot the cache you can also schedule the recache at the rebuilding in some time open device it's up to you and what happens then is that the associated layer the associated feature layer which holds all the geometry and attributes will be used to basically generate the new optimized structure and I would suggest um if you want to go further into the details and to go into the documentation and there on the reference page we have this this section called working with scene layers and here we basically outline the different there's a lot of types of different scene layers and we are talking about this 3D options in there which you can now also edit and and here you have some comments on the publishing and here's this relationship with the associate feature layer is also described and as I mentioned you can basically now edit this and this is in this already integrated incendio which uses the editor widget but if you are Developer and you have a custom application you can use a little widget in your app and for this there's this sample code where you where we also explain the editor feed the editor which and how you how it works with 3D so if you create data widget it'll it will recognize all the layers in the scene and provide the editing capabilities straight away out of the box and this uh as a as I mentioned this is in beta so there might be some hiccups and so on but some paper hiccups but um yeah it would be cool um please try it out and give us feedback on how it works for you and and yeah we are very excited about this this new capability because it kind of brings the API further from an API for visualizing things to also like being able to really edit data and it opens a new space of possibilities awesome thank you so much um David and Arnold we do have some questions in the chat so um first I want to ask does the 3D edit workflow work in experience Builder uh you want to take that David or I'm not if you have something you want to say go ahead so basically um if you have the layer published and use the editor widget which I'm pretty sure you can add an experience Builder it should work out of the box um everything uh is is implemented in the editor widget uh so support for uploading and placing these 3D models awesome and next question is I saw that export data um is it possible to export a 3D scene from the JavaScript API um so yeah you don't you don't offer exporting um like you cannot basically have a scene layer and and basically dump that into a into a file for you to consume straight away so and the scene there offers the possibility to query basically the features and so if you uploaded a feature I'm using like an obj file for example you can send go and say I want this feature as you know as a glb file like a collateral like a tltf binary file well I want this as in um fpx file and and the service is doing the conversion so you can basically query the features individually so you cannot get the whole scene but what you can do is you can query the individual features and you can decide the format you want the feature to to get as and and you have to trust them a minor node you have to configure the layer to allow exporting the data into the different file formats because the conversion um it takes up some resources and you have to opt in basically into being able to download the different file formats but this is always uh and also a property of the project which which data you want to support as a download but yeah to summarize you cannot get the whole scene in one command but you can iterate over all features you can download all the different features and the geometry in the file format of Interest awesome um and then a few more 3D questions um is there a way to randomly rotate the trees to add variation to the assets amazing we're not used to them any 3D questions um so try to keep it short we we have had that request before it's very specific like hey can you can you add a checkbox for that and scene viewer you can do it through the JavaScript SDK rotation variable um you can also combine it with a size variable two two two very uh have some variance in the size and rotation of the trees and essentially what you do is um add a arcade expression in value expression just return a random number and you can also persist that into web scene okay great and then um can you speak to the performance of editing data in a browser app and yeah so this is a good good question and um we are aware that this is because models can be super large so there's always this consideration of model size like how much memory they take this affects the performance of the browser because large memory and models basically um either browser resources but also in terms of upload right so if you have a very big model it will take a long time to upload it will take longer to upload and it will take more resources to display and here the cooking is super important and this is why I actually mentioned this because this is a detail which can be overlooked easily so if you if you do a lot of editing on your scene layer the performance will go down because what we do is we basically have to deviate from the optimized to um data format and we have to kind of bring in the edit features individually and and they come in at full size so what what we do when you do when you go on the online portal and you do the the rebuild cache the caching is really a very sophisticated it a method to turn the geometry into a very optimized data structure and so here we do a level of detail techniques we do texture and compression so we will convert the textures to basis textures so we do a lot of things to make it to make the scene work very well with with your with your client and we use this all over the board so um so in terms of performance if you do editing we upload a lot of models and uploads will take time the larger the models are and it will also um bring down the performance but once you do the caching you would want to reboot the cache the performance will go up again so yeah this is something which we yeah I have to make use of Arrow awesome thank you so much and thank you to David and Arnold for the awesome uh 3D demos and thank you everyone for all of your questions keep them coming we love to see all the questions um so next up we're gonna pass it to Lauren to talk about some pop-up enhancements and the feature widget thanks Ann um so if you have ever wanted to display information that's displayed within your pop-up like charts um related records things like that but you've wanted it outside of the view um not necessarily within the view you know overlaying the the visualization of the map we have a new widget called the features widget that lets you do this um so features widget is pretty much the same as the pop-up widget except you can pull it outside of the view and does it have to be tied to the view itself so we have this example sample app where I have the features widget set up and all I'm doing is creating a new features widget tying it to my view and then using reactive utils to look at the click event and open that up open up the features widget when I click on the map and right now I'm displaying the features widget within a calc site panel shell panel so it works very well with calcite but you can put it in any outside container outside of your your map view it looks the same pretty pretty similar to pop-up if I enable the pop-ups um again to kind of compare the two and click and open um it's pretty similar right we have the same content same charts related records are displayed we have a way to paginate um but a page between the features that are selected just like the pop-up we have a feature menu so you can select which feature you want to look at and display within the features widget along with a way to add custom actions so it's pretty much the same as the pop-up just you can use it outside if you uh want to use this it you know ties together good with calcite this example shows that so this is one of our samples that we have available at this release it's currently in beta so things may change maybe the look um but it's going to all function uh the same as it will or as it does now um so this is the features widget but I also wanted to point out that we have new updates for pop-ups themselves visual design updates um if you couldn't tell already we have a new uh color ramp that's default so for charts pie charts line charts bar charts we have this nice new aesthetically pleasing color ramp that shows your data it used to be really bright um bright colors that were showing up so our UI ux team designed these new colors for you we have a new experience for paging between charts and and media so say if you have images or charts in and you have multiple that you want people to look at you can page through and it shows how many uh items you have in this this media Carousel um so the media info allows you to to show the use the end user how many items they could look at and compare we also added a new pagination experience for the features themselves so say if you click a feature or click on a spot on the map and multiple features are returned you you're able to page through these features so now we have new Arrow buttons here that look a little bit better and they have a calcite feel to them so that it's more unified with how you know we integrate calcite into our API and we also added a button so well it's not an added button but previously people thought that you couldn't open up the features menu or it wasn't um it wasn't obvious that you could click on the numbers of the features that were returned and it opened up that feature menu so now we added an icon here um on this button so people can understand that hey I can I can open this up and go and find a different feature maybe that was returned um if you want more details there's a lot of information about what changed with visuals about how it used to look versus how it looks now there's a Blog article about all the different changes that were made and updates that were made to make the pop-up look look better and you know this is just the beginning of us kind of modifying the pop-up and making it work better for your end users but so lots of changes um and so hopefully you guys have enjoyed them so far and give us give us any feedback that you have on the designs there's a quick question for you about the features widget um is it possible to tie the info displayed on the panel to a the printing widget or just print out um what's in the feature panel so no just because that is um tied to that feature information I don't believe you can because what I think with the printing widget it prints out whatever is in the map view we have nowhere here so correct me if I'm wrong Noah um and so since this widget lives outside of that it's not included within that printout I believe um so uh yeah unfortunately no okay but yeah another oh I'm sorry go ahead um the next question is is it possible to add data to display as related records so for example you query an object on a feature layer fetch related information and then display it in the pop-up yeah yeah you can um wire up kind of your own way of displaying custom content within the pop-up and use the related records query method that's on the feature layer there's a specific way to query those related related that related data from that feature and then you can create some content within your pop-up to display whatever you want um I know that's kind of what we do with the related records relationship content that we have available that we created so that kind of does the same thing but yeah if you're looking to put specific stuff you can always build that out within your pop-up template awesome and I think you could also use arcade um to refer uh yeah related or related data and then display it in your pop-up however you would like so yes yeah so one of the users just said that they use arcade for this too so awesome okay I think next we're gonna move on um to Noah who's gonna talk about the places service thanks so much Lauren for your demos thank you awesome thanks Ann all right support for new places uh first I want to tell you that the place of service was released in beta and is currently only available if you have an arches online developers account so the places service is a ready-to-use location service that can search for businesses and interesting Geographic locations around the world it allows you to find locate and discover detailed information about each place now note this is a completely new service and is separate from the previous geocoding and routing services now let's take a look at the places documentation here we'll find more detailed information code Snippets and the three methods available to us so first we have the fetch Place method this will return details about a specific Place based on its ID we also have query places near points this will search for places within a given radius around a location and then we have query places within extent this will search for places inside a given extent let's look at an example so here we can see the find nearby places and details sample that allows a user to select a category so we'll go ahead and we'll search for landmarks and Outdoors then we're going to click on the map and we'll search somewhere around here Millennium Park and then the left here we get our results this is going to show the first 10 results from the search we're going to click on cloud gate to try to get some more detailed information and here it opens up the pop-up and we can see the cloud gate is locally also known as the beam because us local midwesterners love the beam and now we can go ahead and look at the actual places service documentation this is where you can find out more information about the place of service you can also see we have the same known limitations here about it being in beta and requiring a developer's account and that is the new place of service so thank you and I'll hand it back to Ann awesome thanks Noah um all right I'm not seeing any questions um so because you did such a great explanation so we're going to move on to Sage who's going to talk about the new symbol builder app hi everybody uh thanks Noah that was really cool see that see the new place of service uh the new symbol Builder application it provides a UI for creating any symbol in the JavaScript SDK and it also provides you with a snippet that you can copy and paste into your code it's replacing the older symbol playground application that we've had available before but it was Rewritten with a calcite components react and rsdk and hopefully streamlines and modernizes the UI so in this instance we've got symbol fill symbol here you can see the properties over here on the left hand panel and if we change any of these properties we'll see both the symbol preview shown here in the center in this map view and we'll also see a code snippet over here on the right hand side that we can easily copy and paste into our code for symbols that support uh both 2D and 3D views you can simply toggle between them and it should maintain the symbology between the two different views uh you can also see this uh like live so it takes up so you have like more screen real estate and you're not constrained inside of our documentation website uh and some symbols like polygon symbol 3D or all the symbol or all the 3D symbols actually contain multiple symbol or layers so the way that we can handle that in this application is to uh we've got this drop down menu so we can add any number of different symbol layers so if we wanted to add like a water symbol 3D layer and an object symbol 3D layer and Maybe change this from a sphere into like a cone or something we now have our symbol displayed here if we're happy with it we can choose from one of three different code Snippets we can copy out so in this case I want to use like a AMD required statement in my code so I'm just going to copy out and this portion of the code here because I've actually got those that require statement already in it and I can replace my polygon symbol 3D layer here symbol here and we'll see it update the same as it was in the simple Builder application and I hope you guys find this useful oh that's really about all I've got to show awesome thank you so much Sage this is such a great tool for developers to create symbology quickly um and you had a reaction in the chat of like a surprise jaw-dropping face so I think people are gonna like it all right next up we're gonna pass it to Julie who's going to talk about some stream layer updates and and a lot more so go ahead all right thanks Ann okay so I'm going to start with talking about our new value picker widget it's this little guy down here and basically lets you step through or play through a bunch of values so this is a sample we made a long time ago Christian made flash floods by season and I can go ahead and play it and it'll play through the different seasons and you can kind of see it kind of like circulate through those values you can also use this little combo box to go and like pick the season you want so this is a very flexible widget that has all different kinds of configurations of how you can use it and I'll show a couple examples of that um but to looking at some of the basics really in this case I just set it up with some you know hard-coded values winter spring summer fall and then I created the value picker widget told that I wanted a combo box um or created the combo box that's the horizontal layout and then um I'm basically weight watching for the values changing so one aspect of value picker is it has all this nice you know ability to play through these different values and everything but you're in charge of um handling the events and actually doing something with it so it's not actually directly tied to the view you have to listen for the events or listen for the changes um to the values and then react to it so this is a really simple um use case of it so looking at another example this is another sample that's been around for a while and it's using unique values and this is kind of cool because what this one's doing is um rather than hard coding the different values that it's playing through it actually uses the smart mapping to find all the possible unique values in that layer so it finds a lot of different crop types and then basically it goes through and populates the um the value picker with all the different values it finds in that layer so you can make it really dynamic so you can cut you can start seeing that the the value picker you know really you figure out what data you want it you don't even need data you can use it just as you know for playing through like extents um you can choose to put whatever values you want in from a layer you can hard put it basically it's totally up to you um what you're going to use inside the value picker this is the the sample it's part of the SDK so these are two value Pickers that this is a pretty cool sample um the first one it the first value picker here this is actually working with imagery layers and it's setting the time info so I can look at the land cover in 2000 or 2017 to 2018 so by changing this basically it's looking at the current value watching that value and then I want to change the year it actually sets that time info on the layer and displays that imagery for that layer this one is actually playing through raster functions so this one's looking at the cartographic render I can look at bare grounds areas only um so you kind of see it applying the different roster functions based on what's selected one little thing to notice here and you see this is not a drop down that's because the value picker gives you the option of just displaying a label or doing a combo box or um you can even do a slider which I'll show you in a minute um or actually none of those you could just have these controls so really you're basically deciding what you want to display and just how you want to use it and tie it into your data um I think the the product engineer that built this might might not be happy that I'm showing this sample it's not a sample it's just like a test out but actually it shows like all the different permutations you can have with value picker here you see you have the slider you have a drop down you have this label um you have horizontal verticals so really this is a very slim widget with all different kinds of ways that you can use it depending on your workflow so check it out you can learn more about it and all the different you know options you have in API reference okay so with that I'm going to move on to stream layer so this is um not a new layer type we've had this for quite a long time this is for when you want to basically receive push notifications from the server so you're not doing a Refresh on the layer you're basically opening websocket and you're getting data in real time whenever there's an update available so what is new is we used to in the the Forex API um basically you either create your own stream layer and you can work with it in your code or you could have used map viewer classic to create a web map with stream layer now this is part of the new map viewer and now it's not new anymore this is part of the map viewer where you can use all the bells and whistles of map viewer and apply that to designing your your stream layer saving it to your web map and then loading it into your application so in this example I'm looking at World flights and one thing you can do stream layers is you can stop it or play it to continue to receive the messages and just play it on your screen um you can also do things that you never could have done in the muppier classic which is um doing the the data-driven symbology and here in my case I've picked um altitude that I want to symbolize as and let's see if we can find some flights you can see some itty bitty ones uh down there I basically sized them based on how high they're flying um so this works just you know as you would with any other layer type um this is a calcite Vector symbol that I've used um other things that I've done is I've put a drop shadow to kind of like separate it from the base map kind of give it like a shadow um yeah I found the crown almost and Bloom so that you can like once fly over the ocean see all these people going to Hawaii lucky them um kind of have it glowing over the ocean you can instead do like a brightness of contrast anyway you can play around with all the things you can do in map viewer um and then once you like it save it and now you've got it saved to your web map um I can go ahead and copy that and web map ID and place it in the sample you've probably seen me Demo a thousand times and then you see your stream layer come to life now one thing to note of course once this layer is in your application as developers you can do anything you want with it as if you've created you know directly in your code so um what I've done is I've taken that web map that I've loaded and I'm using value picker with a slider and I'm just filtering based on altitude so you can you know build any sort of workflow you want in your application but it really simplifies the code to load it the do all your styling and you know all the things you want to do in terms of offering in the map viewer and then just load it into your code as a web map um one fun thing that I did is I used blending although I guess if you're looking at flights me I don't know if you might want to see where they're coming from but maybe you're only looking at what's in California um so like what I did there just for fun is I used a census layer and I used blending to basically mask out everything outside of California just kind of fun thing and then I can easily just bring that into my app like it did before and then um you know use that in my app instead oops I'm going to press enter and refresh so that is all about uh stream layer and value picker so that was the the last um topic that um I was going to cover except I wanted to plug our develop our user conference that's happening um in a little over a week so we're all gearing up for this um we do have a developer day that's dedicated of course to developers um I'm gonna put this URL in the chat so you can check out this blog and see all the things that we'll be doing there um we do have a number of technical sessions we'll be presenting um over in our latest technology kind of you know looking at the most popular attack that people we think are coming to user conference will want to learn about this developer social um there's all kinds of things there's a math Gallery there's the team that will be at the Showcase so you can meet the the dev team and talk about your project get help um so hoping to see a lot of you in San Diego at our user conference and so with that I'll hand it back to Ann to wrap up but yeah well first before we wrap up I have a question for you Julie um do you have any good resources or documentation for building a stream layer source I do extremely our source yeah like the stream layer itself I guess the service okay yeah so um so stream layer um can be basically created using the Geo event or Geo event um product um arctis velocity product or via like a custom um stream basically you you're in charge of implementing your own websocket um in the chat I'll post in links to learn about all three of those options so in terms of how you put your stream service together awesome um and then I have a question in the chat for sage um if we can bring him back on are there any good oh wait no no other question is there a way to try out different classification and or color ramps in the symbol Builder uh no not at this time really it's just built off a single graphic without any attributes so there's really no way to apply like a color ramp to different different values for whatever different attribute values no not this time all right um we've got a couple more questions uh coming in first question is is this demo session recorded and if yes where will it be available and the answer is yes it's recorded it'll be available right here at the same link on YouTube um once we finish the live stream it'll be there um let's finish up with a couple more questions um can you connect a stream layer to a Google Firebase database um so we don't have like a well actually I'm not I don't know enough about Google Firebase and if that's something you can connect through velocity or geovent um but if you wanted to do something directly basically we have an implementation of theme layer where you can manage your own websocket your own real-time data you're bringing in um so there's multiple options for connecting to custom ways of implementing stream layer um there's even a recent one where it's like a um basically you could just pass it a collection so you can manage grabbing the data from wherever you're getting it from and then um populating the stream layer so there's there's several options for how you could make that work but I don't know enough about um artist velocity and that particular type of real-time data source to tell you enough about that so you'll have to research velocity sounds good and then one final question and before we wrap up um about editing our forums now a requirement for editing attribution my changes to the pop-ups are not honored in the editing prompts for example field visibility yeah thanks um I'm sorry I I posted a thought that I posted a reply in the chat but it doesn't appear to have gone through um anyway form templates are strongly recommended because they ensure the best and the best most predictable and most feature-rich editing experience for your users but they are not a requirement if there's no feel if there's no form template you will see a you know a default editing a default feature form that lists all of the editable fields and allows editing them um there are there are a few um properties that if there's not a form template we will read from the pop-up configuration as we as um map viewer classic did we continue to do that and so if that's not working um Matt uh feel free to make a post in esri community with the details and what we can investigate it yeah and that's a great segue to um if you do have any other questions please post them in esri community we always are monitoring that and trying to interact with you all there um and yeah that's about all we have for you today thank you so so much for joining us if you liked this content this live stream um go ahead and give it a thumbs up on YouTube and um so yeah stay tuned for the next one and we hope to see you all at the user conference in July thank you everyone thank you bye everybody thanks bye thank you
Info
Channel: Esri Developers
Views: 2,717
Rating: undefined out of 5
Keywords:
Id: bMP0mhF4KKI
Channel Id: undefined
Length: 57min 23sec (3443 seconds)
Published: Tue Jun 27 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.