POST
|
I never found a satisfactory solution in dealing with the popup in the same way we had in the WebAppBuilder. At the time, instead of fighting with that system, I created my own 'Identify' tool that allowed a local configuration per layer that I allow to be identified. With that, I had full control of how the data was displayed and what options I had. You can see what I ended up here: https://mapping.kenoshacountywi.gov/InteractiveMapping/ You can zoom in and just click on a parcel and my custom widget handles everything in the sidebar. Jonathan
... View more
11-10-2023
07:11 AM
|
0
|
0
|
210
|
POST
|
Behind the scenes, Experience Builder widgets are just Javascript (with layers on top, but still Javascript) and using the standard API calls. That is why I am posting this here instead of in the EB developer boards as it really isn't an EB problem. Even at 0.01 feet, if I buffer a parcel, I'll grab all the surrounding parcels which we don't want it to do. To your other suggestion, the buffer tool I wrote allows selection of both the selection and target layers to buffer any of the data in the app. I still need to analyze features within the selected feature so couldn't just return a single features data. However, in the same line of thought, I guess if distance was zero, I could perform an intersect instead of a buffer and feed the results to the same function afterwards. Still, it would be handy to know if anyone else has tried the buffer with a zero distance and if it works or not in their environment. Thanks! Jonathan
... View more
09-14-2023
08:28 AM
|
0
|
0
|
203
|
POST
|
Hello, I wanted to check if anyone else has a situation where they allow a zero distance buffer on a selected feature. I wrote a buffer tool for Web Experience Builder, and originally a user setting the distance to zero just captured all features within the buffered geometry. However, since going live with this project, the call go GeometryService.buffer returns the following error: { "error": { "code": 400, "extendedCode": -2147220889, "message": "Unable to complete operation.", "details": [ "An error occurred during the buffer operation" ] } } I'm wondering if this is a bug in Server with our geometry service or if this is just a limitation on the buffer call. Thanks! Jonathan
... View more
09-14-2023
07:23 AM
|
0
|
2
|
217
|
POST
|
Just as a quick follow-up, modifying the search widget to set the magic key to an empty string appears to have resolved the issue. I'm going to put the updated app into dev for our internal users to test and make sure this doesn't cause any new issues. If anyone else has problems with composite locators, the fix is fairly easy. In the search.tsx component for the search widget, you just need to update the following lines: const initResultServiceList = (newServiceList: ServiceList, initResultServiceListOption?: InitResultServiceListOption) => { const { configId, isFromSuggestion } = initResultServiceListOption || {} const magicKey = ""
... View more
06-09-2023
06:08 AM
|
0
|
0
|
433
|
POST
|
I do have this selected, but unfortunately, I am looking at a different issue. We only have a single locator added to the search widget (the composite locator), so there aren't multiple sources it could be selecting from there. Turning off that checkbox doesn't affect this specific problem. This morning, I think I'm going to duplicate the search widget and set the magic key to be blank when sent to the 'find address candidates' to see if this provides a workaround on the issue (without introducing new problems). Thanks! Jonathan
... View more
06-09-2023
05:38 AM
|
0
|
0
|
436
|
POST
|
In my Experience Builder mapping app (Developer 1.11), now that we are live, we are finding a problem with the search widget. In some address searches for valid addresses, the suggestion is providing good results, but clicking on them indicate that the address is not found. If you just type the address and press enter, the address is found just fine. Looking at the rest services being called, everything looks to be working right. Where things seem to be failing is with the 'magic key' being passed from the suggestion. I can reproduce the behavior from the rest endpoints by first using the suggest endpoint, getting the suggestions, and then pasting the address and magic key into the 'find address candidates' endpoint. If I remove the magic key, the find endpoint has no problem providing a geocoded result. Has anyone else had this problem? I am suspecting this is due to our using a composite locator and the magic key somehow not being matched up correctly. Thanks! Jonathan
... View more
06-08-2023
02:16 PM
|
0
|
3
|
456
|
POST
|
David, Thank you for your complements. Unfortunately, posting here has brought to light that Google prohibits doing this. We are sadly going to have to pull that tool from the app. Just for details from an academic point of view on how this was created, it is currently running in EB 1.11. I have node.js 14.18.1 on my machine. The react.js library I am using to pull in the StreetView is @react-google-maps/api. You do need a cloud subscription to use the API, and there is a small cost per usage. However, Google Maps provides a $200/month credit which we have had yet to get anywhere near.
... View more
05-22-2023
10:56 AM
|
1
|
1
|
8190
|
POST
|
Darn, we were ok without the attribution as that was specific to the static APIs, but you are 100% correct on the restriction from mixing it with ESRI maps. The clause: (e) No Use With Non-Google Maps. To avoid quality issues and/or brand confusion, Customer will not use the Google Maps Core Services with or near a non-Google Map in a Customer Application. For example, Customer will not (i) display or use Places content on a non-Google map, (ii) display Street View imagery and non-Google maps on the same screen, or (iii) link a Google Map to non-Google Maps content or a non-Google map. Specifically forbids the use of what I am doing. I guess it is better we found out about it now before this version of our app goes into production and it causes a problem. Thanks!
... View more
05-22-2023
10:48 AM
|
2
|
0
|
8191
|
POST
|
This can be done with the developer version, but I don't believe there is a way to do it in AGO. With the developer version, you can add the google maps library to the project, and then add the functionality to a custom widget. In our new version of 'Interactive Mapping', based on Experience Builder Developer, I created a widget that did that. You can see it in action here: https://apps.kenoshacounty.org/InteractiveMappingBeta/ The streetview tool is all the way to the right on the toolbar, so you may need to click on the right arrows to get to that specific tool. Jonathan
... View more
05-22-2023
06:46 AM
|
2
|
4
|
8247
|
POST
|
Were you ever able to figure this out? The select object in jimu-ui doesn't allow users to start typing to find an item. Having a textbox work with a suggest type function would be ideal when working with large lists of data in a dropdown. Thanks!
... View more
11-16-2022
08:43 AM
|
0
|
1
|
600
|
POST
|
I have created a new scalebar widget. With it, when the user clicks on the scale bar, they can type in a new scale and the view jumps to that scale. However, with an ESRI basemap loaded, this widget will only jump to a predefined scale closest to the scale that was typed in. This is not ideal for the functionality of the application. I'm trying to find a way to work around the predefined scales. We only care about the basemap when we are zoomed out to the County level, but it is definitely nice to see the surrounding areas and not just have our County floating in space. My widget works if I replace the basemap with one of our own layers. I was looking at removing the basemap when zooming in past a certain scale (just hiding it doesn't help), but wasn't sure how to remove a basemap in Experience Builder once it has been loaded in. Any suggestions on how to work around this behavior would be much appreciated. Thanks! Jonathan
... View more
11-14-2022
01:17 PM
|
0
|
0
|
171
|
POST
|
Grant, I agree that is better then having the widgets at the top. I'm still trying to give the same number of tools as offered in the desktop version. Right now, the widget controller only allows a completely vertical or horizontal tool bar. Is there anyway to have it render as a grid? I was able to get the effect I want right now by adding two rows of tools. However, it would be much more convenient having them fill up all available pace and allow for scrolling thru tools if necessary. The picture below shows what I am trying to do. Thanks! Jonathan
... View more
11-07-2022
11:51 AM
|
0
|
0
|
320
|
POST
|
For ease of use, one of the features I really liked from AppBuilder was the popup dialog in mobile view for the widget controller. That way, users had nice big buttons to browse thru and there was a lot less guessing on what tools were what. It doesn't look like there is an out of the box way to do the same thing in ExperienceBuilder. I did try to create a window and put the widget controller in that with labels and larger settings turned on. Then had a button in the main app turn view that window. However, doing that breaks trying to use many of the widgets. The displayed window does not go away when you try to use a widget so anything that interacts with the map won't work. Has anyone found a way to reproduce this functionality in a usable way? Thanks! Jonathan
... View more
11-07-2022
08:21 AM
|
0
|
2
|
352
|
POST
|
I am currently working on my custom version of the Map Layers widget. I am adding new actions that can be performed on the layer. What I am trying to do is for specifically identified layers, allow the user to click on an info icon and display basic information about the layer. I don't want to use the built in functionality and take them to the layer definition as it wouldn't benefit most of our users. I have the action displaying correctly and executing, but am having trouble figuring out the best way to display the information in a dialog. My thought was to create a new dialog window in the builder, and then in the action execution code, display that window and use javascript to change the text in the dialog. However, I am trying to figure out how to control the dialog. I can get to dialog information thru: const state = getAppStore()?.getState(); const dialogs = state.appConfig.dialogs; And I see there is an appAction.currentDialogChanged that I can run thru getAppStore().dispatch() If I am on the right track (which is debatable), I'm just not sure what I need to do with the dialog settings to indicate that it should be displayed. And I haven't been able to find anyone else trying to do the same thing in EB. Any suggestions on my approach or alternative approaches would be appreciated. Thanks! Jonathan
... View more
11-01-2022
11:44 AM
|
0
|
0
|
214
|
POST
|
With the release of the new search widget, I'm updating a 'parcel identify' tool I have created to handle selection messages from search to automatically perform a lookup on the search result. I've created the action file extending AbstractMessageAction and have it responding to the search widget. I'm trying to figure out how best to call the main identify method I have within my widget.tsx Widget class. Most of the action code examples I see involves updating the widget's state. I'd rather not take this approach if possible, as I'd rather just pass the x/y coordinates to the method that already knows how to deal with them and make the action as lean as possible. Any recommendations on how to access the widget's methods would be much appreciated. Thanks, Jonathan
... View more
02-22-2022
11:39 AM
|
0
|
0
|
160
|
Title | Kudos | Posted |
---|---|---|
2 | 05-22-2023 10:48 AM | |
1 | 05-22-2023 10:56 AM | |
2 | 05-22-2023 06:46 AM |
Online Status |
Offline
|
Date Last Visited |
01-02-2024
06:52 AM
|