Enhanced ExB Coordinate widget

3328
12
06-22-2023 05:25 PM
Labels (2)
FredericPoliart_EsriAU
Frequent Contributor

Hi,
 
I have create an Enhanced Coordinate Widget display, with quick-link to Google3D

FredericPoliart_EsriAU_0-1687479132898.png

  • Very simple (just drag&drop and link to the map)
  • Works with 2D maps and 3D scenes
  • Shows Zoom level,  Scale, 
  • Optionally shows Tilt (3D) and rotation
  • Can customize background color

FredericPoliart_EsriAU_1-1687479298899.png



How to use

  1. download from https://poliart.com/experiencebuilder/widgets/get-map-coordinates-class.zip 
  2. unzip in your ExB Developer Edition: C:\ArcGISExperienceBuilder\client\your-extensions\widgets
  3. Restart your client/servers using npm start 
  4. Drop this new widget onto your ExB Map Widget
  5. Settings: select the web-map 
  6. Settings: select Show Tilt/ Rotation if you need
  7. done. 

 

Let me know if you encounter any issue
 

FredericPoliart_EsriAU_2-1687479858133.png

 



12 Replies
DavidDas__GISP
Frequent Contributor

Hi Frederic,

 

We love your Enhanced EXB Coordinate Widget!

 

It is working like a charm in EXB version 1.12 (July, 2023).

I have added your Custom Widget to the Widget Controller.

 

DavidDas__GISP_16-1690479905105.png

 

 

This is how your Widget appears:

 

DavidDas__GISP_17-1690479905116.png

 

 

It tracks the Lat/Long Coordinates as you move the cursor over the map.

When you click on the [Link], it opens a separate Google Maps Window.

 

DavidDas__GISP_18-1690479905144.png

 

 

https://www.google.com/maps/@33.44849,-112.09398,1131m/data=!3m1!1e3?entry=ttu

 

DavidDas__GISP_19-1690479905196.png

 

Hover your mouse over the Map Layers thumbnail.

 

DavidDas__GISP_20-1690479905233.png

 

 

Select More

 

DavidDas__GISP_21-1690479905247.png

 

 

Activate Globe View

 

Turn on the Satellite Imagery

 

DavidDas__GISP_22-1690479905268.png

 

 

You can now use your mouse wheel to zoom in/out.

 

DavidDas__GISP_23-1690479905328.png

 

 

 

You can hold down the Control Key while dragging your mouse to get the full 3D experience in Google Maps.

 

To change the Tilt, move the mouse up or down while holding down the Control Key.

 

DavidDas__GISP_24-1690479905430.png

 

 

To change the Rotation, move the mouse to the left or right while holding down the Control Key.

 

DavidDas__GISP_25-1690479905514.png

 

 

You did a terrific job with this Custom Widget for making Google Maps readily accessible to all our EXB Apps.

I hope you will continue to keep this Custom Widget updated through all future releases of the Experience Builder.

 

I had 1 Enhancement Request.

 

Would it be possible to modify the look and feel of this Custom Widget when added to the Widget Controller?

For example, what if instead of the [Link] I wanted to have a button with the Text = Select Location.

 

DavidDas__GISP_26-1690479905519.png

 

 

The user would click anywhere on the map to get the map coordinates.

Your Custom Widget would read these map coordinates and launch a separate Google Maps window.

 

I had a second Enhancement Request.

 

Could you make this Custom Widget more universal so that the user can attach a custom string to the Lat/Long Coordinates to open some other program like a Pictometry Window?

Let me explain this through an example.

Here is our highly popular Historical Aerial Photography App.

 

https://gis.maricopa.gov/GIO/HistoricalAerial/

 

You can enter this Parcel Number in the Search Tool = 112-08-134B

 

DavidDas__GISP_27-1690479905533.png

 

 

The map will zoom to the Arizona State Capitol Building.

 

DavidDas__GISP_28-1690479905589.png

 

 

Open the Pictometry Widget.

 

DavidDas__GISP_29-1690479905592.png

 

 

You get a button to Select a Location.

Click on the State Capitol.

 

DavidDas__GISP_30-1690479905617.png

 

 

This opens a separate Pictometry Window with this URL:

 

https://gis.maricopa.gov/pictometry/default.aspx?&qlat=33.44806452764903&qlong=-112.09737111757926

 

DavidDas__GISP_31-1690479905656.png

 

 

It is very easy to construct this URL if you have the Lat/Long Coordinates.

Your Custom Widget can already pick up these Lat/Long Coordinates.

So, if you allow the user to append a custom string to your Lat/Long Coordinates, I can repurpose your Custom Widget to make it our Pictometry Widget in EXB.

 

For reference, this is our Config.json file for the WAB version of the Pictometry Widget.

 

{

  "configText": "//gis.maricopa.gov/pictometry/default.aspx?"

}

 

 

Once again, thanks a million for all your efforts in creating this valuable Custom Widget and making it freely available to use.

This is the ideal way to launch Google Maps at your selected location to explore the world in 2D and 3D and get the Street View information.

 

Best regards,

 

David

 

0 Kudos
FredericPoliart_EsriAU
Frequent Contributor

Interesting feed back. 
I invite you to check the Geovonic Connect widget .  It has StreetView and Google Map integration as well as many other 3rd party apps (ex : select on the map, click the Geovonic Connect launch button > it launches your Asset application and shows the selected records. 

https://www.geovonic.com/geovonic-connect/ 

https://www.esri.com/partners/boustead-geospatial-a2T5x000008Dt9sEAC/geovonic-connect-a2d5x000006jPl... 
https://connect.geovonic.com/ 

0 Kudos
DavidDas__GISP
Frequent Contributor

Hi Frederic,

 

Success!!!

 

I was able to modify your custom widget to turn it into our Pictometry Widget.

 

Your widget captures the Lat/Long coordinates of the centroid of your map and constructs the necessary URL to launch Google Maps in a separate window.

 

Here is an example of the Google 3D URL:

 

https://www.google.com/maps/place/@33.44849,-112.09398,489a,35y,0.0h,0t,489m/data=!3m1!1e3

 

This widget can be easily repurposed to open a Pictometry Window which requires the same Lat/Long coordinates to be formatted in a different way like so.

 

https://gis.maricopa.gov/pictometry/default.aspx?&qlat=33.44849&qlong=-112.09398

 

I am including a ZIP file that shows the changes that were made to make create the Google Maps and Pictometry Widgets and make them work in EXB Developer Edition 1.12 with Node.js 14.21.3.

 

Here is how I got them working side by side.

 

DavidDas__GISP_0-1690568731943.png

 

 

 

The Google Map Widget launches the Google Maps Window.

 

https://www.google.com/maps/@33.44849,-112.09398,518m/data=!3m1!1e3?entry=ttu

 

DavidDas__GISP_1-1690568732007.png

 

 

The Pictometry Widget launches the Pictometry Window.

 

https://gis.maricopa.gov/pictometry/default.aspx?&qlat=33.44849&qlong=-112.09398

 

DavidDas__GISP_2-1690568732041.png

 

 

 

The included ZIP file contains the fully configured Google Maps and Pictometry Widgets and a ReadMe PDF that contains all the instructions.

 

DavidDas__GISP_3-1690568732042.png

 

 

I have one enhancement request.

 

Could you change the [Link] into a large button?

 

Before:

 

DavidDas__GISP_4-1690568732046.png

 

 

After:

 

DavidDas__GISP_5-1690568732050.png

 

 

 

 

 

Best regards,

 

David

 

 

 

 

FredericPoliart_EsriAU
Frequent Contributor

@DavidDas__GISP @ZhujingXia  Good work David! thank you for improving and sharing.

0 Kudos
Brian_McLeer
Frequent Contributor

@FredericPoliart_EsriAU @DavidDas__GISP @ZhujingXia I have worked on David's most recent download above and modified it with the following:

  • Allow hyperlinks to multiple URLs based on coordinates (Pictometry, Google Street View, Google Maps, Copy Lat/Long.
  • Have the user hover and click on the map, then click on buttons to be linked out to the page. 
  • Remove Tilt/Rotation
  • For my application, we publish in this WGS 84 / UTM zone 12N. Functionality has been added to convert from that system to Web Mercator or WGS84, which is a similar issue @ZhujingXia posted about on 10/3/23. 
  • Changed icon.svg to a map pin. 
  • Built on Experience Builder Developer Edition 1.15.

Brian_McLeer_0-1725551991031.png

@FredericPoliart_EsriAU @DavidDas__GISP I updated the manifest.json to include you both as authors and and updated description. I can post the updated widget to this message thread, but wanted to get your thoughts first. 

 

Brian
JohnWatson_EBA
Regular Contributor

Brian, would you mind posting the widget? I would love to drop that in our new ExB Dev template and see how that looks. We didn't have anything like this in WAB, so this would be a great new feature. Thanks!

0 Kudos
Brian_McLeer
Frequent Contributor

@JohnWatson_EBA, someone messaged me last week asking for it so I uploaded the ZIP I provided to them. There are some crude notes in the ZIP file as well. Please let me know if you have any questions or can suggest improvements. Again, credit goes to @FredericPoliart_EsriAU and @DavidDas__GISP.  

Brian
0 Kudos
Brian_McLeer
Frequent Contributor

I received a few messages about an error. I remembered that I had to run npm install esri-loader on the client folder before npm ci, npm fund, and npm start. After that on the server folder, I ran npm ci, npm fund, and npm start as well. 

 

Brian
0 Kudos
ZhujingXia
Frequent Contributor

The widget worked in WGS84 coordinate, but my State Plane coordinate system would not work, is there a way to covert the lat and long into state plane?

 

Thank you .