Package detail

@polar/plugin-reverse-geocoder

Dataport5EUPL-1.23.0.1

ReverseGeocoder plugin for POLAR that adds a ui-less reverse geocoding mechanism that can be adresses via store interactions.

OpenLayers, ol, POLAR, plugin

readme

Reverse Geocoder

Scope

Reverse Geocoder Plugin that turns coordinates into addresses via a WPS. It does not offer any UI by itself.

This module has been written for the HH WPS service. The return format is custom and no other WPS are currently supported. Please mind this when trying to use this plugin with any other WPS. For usage with other WPS, those must either fit the HH WPS, or a generalization of this plugin is required.

Configuration

reverseGeocoder

fieldName type description
url string URL of the WPS to use for reverse geocoding.
addLoading string? Expects the path to a mutation within the store. This mutation is committed with a plugin-specific loading key as payload when starting asynchronous procedures that are intended to be communicated to the user.
addressTarget string? Points to a path in the store where an address can be put. If given, ReverseGeocoder will update on resolve. If not given, ReverseGeocoder's results can only be retrieved by awaiting its action.
coordinateSource string? Points to a path in the store where a coordinate may be. If given, ReverseGeocoder will resolve on any updates. If not given, ReverseGeocoder is passive and waits for its action to be called. Please mind that, when referencing another plugin, that plugin must be in addPlugins before this one.
removeLoading string? Expects the path to a mutation within the store. This mutation is committed with a plugin-specific loading key as payload when finishing asynchronous procedures that are intended to be communicated to the user.
zoomTo number? If specified, plugin zooms to given coordinate after successful reverse geocoding; number indicates maximal zoom level.

Example configuration:

reverseGeocoder: {
  url: 'someWebProcessingServiceUrl.com'
  coordinateSource: 'plugin/pins/transformedCoordinate',
  addressTarget: 'plugin/addressSearch/selectResult',
  addLoading: 'plugin/loadingIndicator/addLoadingKey',
  removeLoading: 'plugin/loadingIndicator/removeLoadingKey',
  zoomTo: 7,  
}

Store

The ReverseGeocoder plugin does not hold any state.

Actions

// result contains the resolved address (exact format depends on WPS)
const result = await map.$store.dispatch(
  'plugin/reverseGeocoder/reverseGeocode',
  coordinate, // [number, number]
)

changelog

Changelog

3.0.1

  • Fix: Make action reverseGeocode actually callable like it is documented and fix its payload documentation.

3.0.0

  • Breaking: Upgrade peerDependency ol from ^9.2.4 to ^10.3.1.

2.0.0

  • Breaking: Upgrade peerDependency ol from ^7.1.0 to ^9.2.4.
  • Chore: Clarify the description to addLoading and removeLoading within the readme.

1.2.0

  • Feature: Improved implementation to make plugin SPA-ready.

1.0.1

  • Fix: Add missing repository information in package.json.

1.0.0

Initial release.