A custom widget for ArcGIS Experience Builder Developer Edition 1.20. Displays the latitude/longitude, scale, and zoom of the current map view, and provides one-click links to external map services (Pictometry, Google Street View, Google Maps 3D, Bing Satellite, Bing Streetside) for the clicked location.
See the widget README for installation, features, and troubleshooting.
externalmapcoordinates-widget/
├── README.md (this file: GitHub landing page)
├── LICENSE (Apache-2.0)
├── .gitignore
├── publish.ps1 (automation: sync widget from EB, commit, push, release)
└── externalmapcoordinates/ (the widget itself, drops into your-extensions/widgets/)
├── manifest.json
├── package.json
├── package-lock.json
├── config.json
├── icon.svg
├── README.md
├── LICENSE
├── .gitignore
├── .npmignore
└── src/ ...
Pre-built downloadable zips are published as GitHub Releases. Each release zip contains the externalmapcoordinates/ folder ready to drop into client\your-extensions\widgets\.
The zip is the widget only. The Visual Studio type shims in the repo (externalmapcoordinates/src/exb-editor-shims.d.ts, externalmapcoordinates/src/vendor-shims.d.ts) are left out on purpose: their ambient declare module blocks are not file-scoped and would rewrite the react, jimu and esri types for every other widget in your your-extensions folder.
If you clone the repository instead of using the zip, delete externalmapcoordinates/src/exb-editor-shims.d.ts and the other shim files listed above before building; nothing else depends on them.
After changes have been made in the live EB folder at C:\arcgis-experience-builder-1.20\client\your-extensions\widgets\externalmapcoordinates\, from a terminal opened in this repo folder:
-
Code update only:
powershell -ExecutionPolicy Bypass -File .\publish.ps1 -
Code update plus a new tagged release:
powershell -ExecutionPolicy Bypass -File .\publish.ps1 -Release v1.1.0
publish.ps1 performs a robocopy /MIR from the EB folder into the externalmapcoordinates/ subfolder here (skipping node_modules and .vs), commits, pushes, and on -Release cuts a versioned GitHub Release with a zip attached.
Tags must increase and never repeat (GitHub rejects duplicates).
- Bug fix:
v1.0.1,v1.0.2 - New feature:
v1.1.0,v1.2.0 - Major change:
v2.0.0
Post and discussion: (link goes here after the community post is created)
Originally based on the ArcGIS for Developers Experience Builder coordinates tutorial. Subsequent work by EsriAU (Frederic Poliart), David Das (Maricopa County), and Brian McLeer (City of Grand Junction).
The widget follows the Experience Builder app language: the ArcGIS profile language, the browser, ?locale=xx in the URL, or the Language Switcher widget. Interface text lives in src/runtime/translations/default.ts (and src/setting/translations/default.ts for the settings panel), with language files for all 39 Experience Builder locales made by exb-i18n-kit.
- Esri's own Experience Builder translations are used first, so shared words match the out-of-the-box widgets.
- Other strings come from the kit's shared translation memory. Machine translations are marked for review.
- Anything not translated yet shows in English.
- Coverage per language:
externalmapcoordinates/i18n/STATUS.md. - To fix a translation for every widget that uses it, open a pull request on
memory/<locale>.jsonin exb-i18n-kit.
Apache-2.0. Copyright City of Grand Junction, CO. See LICENSE.