options to configure the provider
Hook functions that will be called during the execution of the corresponding "editing operation". The "hooks" property is a map with the "editing operation" as its key and the corresponding Hook or Array of Hook function(s) as its value.
Available editing operations are 'Navlink.disconnect', 'Navlink.split', 'Feature.remove', 'Coordinates.remove'.
The id of the Provider
default tile margin.
The name of the Provider.
Base URL of the SpaceProvider. It points to a XYZ-Hub space endpoint.
Add an EventListener to the provider. Valid events: "featureAdd", "featureRemove", "featureCoordinatesChange", "clear" and "error"
The detail property of the Event gives additional information about the event. detail.provider is a reference to the provider onto which the event was dispatched and is set for all events.
A string representing the event type to listen for
the listener function that will be called when an event of the specific type occurs
Add a feature to the provider.
the feature to be added to the provider
Add multiple features to the provider.
the features to be added to the provider
Get all the features that are currently present in the provider.
Cancel ongoing request(s) of a tile. The tile will be dropped.
the quadkey of the tile that should be canceled and removed.
Cancel ongoing request(s) of a tile. The tile will be dropped.
the tile that should be canceled and removed.
Clear all tiles and features of a given bounding box or do a full wipe if no parameter is given.
array of geographical coordinates [minLon, minLat, maxLon, maxLat] defining the area to clear.
Commit modified/removed features to the remote backend.
the data that should be commit to the remote.
features that should be created or updated
features that should be removed
callback function that will be called when data has been commit successfully
callback function that will be called when an error occurs
update config options of the provider.
options to configure the provider
Create a new Tile.
the quadkey of the tile to create
This method is used to determine the FeatureClass required to edit the feature. The FeatureClass defines how a certain feature behaves when its getting edited.
By default, the Editor handles all features of geometry type 'LineString' as Line, 'Point' as Marker and '(Multi)Polygon' as Area.
If you want to edit features with FeatureClass 'NAVLINK', 'PLACE' or 'ADDRESS' this method must be overridden to enable editing of Navlinks, Places or Addresses.
The feature whose FeatureClass is requested
the FeatureClass of the feature, or null if the feature should not be editable.
Finds the optimal path between two coordinates on a GeoJSON road network, considering various options. By default, the weight function returns the distance of the road segment, a lower distance implies a shorter route and is considered more favorable. If you have specific criteria such as road quality, traffic conditions, or other factors influencing the desirability of a road segment, you can customize the weight function accordingly. Pathfinding will consider only the locally cached data available on the client.
The options object containing parameters for finding the path.
Optional callback function to determine if a turn is allowed between road segments. If not provided, all turns are considered allowed.
Object representing the source road segment of the turn.
Index of the Coordinates array of the source road segment.
GeoJSON Feature representing the source road segment.
Object representing the destination road segment of the turn.
Index of the Coordinates array of the destination road segment.
GeoJSON Feature representing the destination road segment.
The starting coordinates defining the path.
The ending coordinates of the path.
Optional callback function to determine the weight (cost) of traversing a road segment.
Direction of traversal on the road segment.
The Distance of the road in meters.
Feature representing the road segment.
Starting coordinates of the road segment.
Ending coordinates of the road segment.
{Promise<{
features: Feature[];
readonly path: GeoJSONFeature
Get a locally cached tile by quadkey.
the quadkey of the tile
get cached tile by bounding box.
array of coordinates in order: [minLon, minLat, maxLon, maxLat]
get tiles at specified tileMargin
array of {@link Tiles}
Gets a feature from the provider by id.
the id of the feature
the found feature or undefined if feature is not present.
Get the URL for feature specific requests.
Name of the XYZ-Hub Space.
id(s) of the feature(s) the provider want's to request
url string to receive the feature resource of the remote http backend
Gets features from provider by id.
array of feature ids to search for.
search options
if just a single feature is found its getting returned otherwise an array of features or undefined if none is found.
Gets features from provider by id.
search options
search for a single feature by id
array of ids to search for multiple features
Callback function for "remote" search
Force the provider to do remote search if no result is found in local cache
if just a single feature is found its getting returned otherwise an array of features or undefined if none is found.
Get a specific request-header being added to all requests handled by the provider.
The name of header to retrieve
value of the request header or null if the header does not exist
Get the request-headers being added to all requests handled by the provider.
Map of key value pairs. the key represents the header name
Get URL for layer specific requests.
Name of the XYZ-Hub Space.
url string to receive a layer resource of the remote http backend
Get a specific request-parameter that's being added by the provider to all requests.
The name of parameter to retrieve
value of the request parameter or null if the parameter does not exist
Get the request-parameters that are being added by the provider to all requests.
Map of key value pairs. the key represents the parameter name.
Get a tile by quadkey. If the tile is not cached already, it will be created and stored automatically. Data will be fetched from remote data-sources and attached to tile automatically
the Tile
Get URL for tile specific requests.
Name of the XYZ-Hub Space.
url string to receive a tile resource of the remote http backend
Attribute reader for obtaining the Height of a Building (extruded Area). The height must be specified in meters.
This method must be implemented to enable editing of the height of an extruded Area.
The Area feature whose height is requested.
The height in meters of the Building/Area or null if the Area is considered flat.
Attribute reader for obtaining the id of the Navlink Feature on which the RoutingPoint of an Address or Place feature is located. For Addresses an Id must be returned. If null is returned for a Place, the Place is treated as "floating" without a RoutingPoint.
This method must be implemented to enable editing of Places or Addresses.
The Address or Place of which the Navlink of the RoutingPoint is requested.
the Id of the Navlink on which the RoutingPoint is located.
Attribute reader for obtaining the RoutingPoint's geographical position of an Address or Place. The geographical position must be located on the geometry of the related Navlink feature.
This method must be implemented to enable editing of Places or Addresses.
The Address or Place feature whose RoutingProvider is requested.
GeoJSON Coordinate representing the geographical position of the RoutingPoint or null if a Place does not have a RoutingPoint.
Attribute reader for obtaining the id of the TileProvider containing the corresponding Navlink, of an Address or Place feature, on which the RoutingPoint is located.
This method must be implemented to enable editing of Places or Addresses.
The Address or Place feature whose RoutingProvider is requested.
the Id of the TileProvider in which the object is stored. If undefined is returned, the RoutingPoint's Navlink is assumed to be in the same TileProvider as the Address/Place.
Attribute reader for obtaining the turn-restrictions of two Navlink Features.
This method must be implemented to enable editing of Navlinks.
The Navlink and it's coordinate index from which to turn from
The Navlink and it's coordinate index to which you want to turn
true if turn is allowed, otherwise false.
Remove an EventListener from the provider. Valid events: "featureAdd", "featureRemove", "featureCoordinatesChange", "clear" and "error"
A string which specifies the type of event for which to remove an event listener.
The listener function of the event handler to remove from the provider.
Remove feature(s) from the provider.
features that should be removed from the provider
Search for feature(s) in the provider.
configure the search
Search features by Ids.
Function to be called when a request of a "remote search" fails.
The error message of the failing request.
The name property represents a name for the type of error. The value is "NetworkError".
The responseText which contains the textual data received of the failing request.
The numerical HTTP status code of the failing request.
Callback function for "remote" search.
Geographical center point of the circle to search in. options.radius must be defined.
Radius of the circle in meters, it is used in "point" search.
Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.
Force the data provider(s) to do remote search if no result is found in local cache.
array containing the searched features
Search for feature(s) in the provider.
configure the search
search feature by id.
Function to be called when a request of a "remote search" fails.
The error message of the failing request.
The name property represents a name for the type of error. The value is "NetworkError".
The responseText which contains the textual data received of the failing request.
The numerical HTTP status code of the failing request.
Callback function for "remote" search.
Force the data provider(s) to do remote search if no result is found in local cache.
array containing the searched features
Point Search for feature(s) in provider.
Geographical center point of the point to search in. options.radius must be defined.
configure the search
Function to be called when a request of a "remote search" fails.
The error message of the failing request.
The name property represents a name for the type of error. The value is "NetworkError".
The responseText which contains the textual data received of the failing request.
The numerical HTTP status code of the failing request.
Callback function for "remote" search.
the radius of the circular area in meters to search in
Force the data provider(s) to do remote search if no result is found in local cache.
Rectangle Search for feature(s) in the provider.
Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.
configure the search
Function to be called when a request of a "remote search" fails.
The error message of the failing request.
The name property represents a name for the type of error. The value is "NetworkError".
The responseText which contains the textual data received of the failing request.
The numerical HTTP status code of the failing request.
Callback function for "remote" search.
Force the data provider(s) to do remote search if no result is found in local cache.
Search for feature by id in the provider.
id of the feature to search for
configure the search
Function to be called when a request of a "remote search" fails.
The error message of the failing request.
The name property represents a name for the type of error. The value is "NetworkError".
The responseText which contains the textual data received of the failing request.
The numerical HTTP status code of the failing request.
Callback function for "remote" search.
Force the data provider(s) to do remote search if no result is found in local cache.
Modify coordinates of a feature in the provider.
the Feature whose coordinates should be modified/updated
the modified coordinates to set. The coordinates must match features geometry type.
Set request-header that should be added to all request handled by the provider.
The name of the header whose value is to be set.
The value to set as the body of the header.
Set request-headers that should be added to all request handled by the provider.
Set the tile margin in pixel.
the tileMargin
Set a specific request-parameter that should be added to all request handled by provider. If undefined is set the parameter get's cleared/removed.
The name of the parameter whose value is to be set.
The value(s) of the parameter.
Set request-parameters that should be added to all request handled by provider.
Sets result filtering based on properties search in Hub backend. https://www.here.xyz/api/devguide/propertiessearch/
After setting the property search, the provider will clear all features and data will be requested from hub using the property search filter. The response will contain only the features matching all conditions in the query. If function is called without arguments all filters will be cleared.
the name of property
the operator used
value the value to be matched
Sets result filtering based on properties search in Hub backend. https://www.here.xyz/api/devguide/propertiessearch/ After setting the property search, the provider will clear all features and data will be requested from hub using the property search filter. The response will contain only the features matching all conditions in the query. If propertySearchMap is set to null or none is passed all previous set filters will be cleared.
A Map of which the keys are the property names and its values are Objects defining the operator ( '=', '!=', '>', '>=', '<', '<=' ) and the value to be matched.
Set tags to filtering results based on tags in Hub backend. After setting tags, provider will clear all features and data will be requested from hub including the new tag filter.
the tag(s) that will be send to xyz-hub endpoint
Attribute writer for storing the EditStates of a Feature. The EditStates provide information about whether a feature has been created, modified, removed or split.
By default EditStates aren't tracked/stored.
The Feature whose EditState should be written.
the EditState to store
Attribute writer for storing the Height of a Building (extruded Area). The height must be specified in meters.
This method must be implemented to enable editing of the height of an extruded Area.
The Area feature whose height should be updated/written.
The height specified in meters
Attribute writer for storing the Navlink reference on which the RoutingPoint of an Address or Place feature is located.
This method must be implemented to enable editing of Places or Addresses.
The Address or Place of which the Navlink reference of the RoutingPoint to store.
The navlink whose reference is to be written, or null in case of a Place becomes "floating" and has no RoutingPoint.
Attribute writer to store the RoutingPoint's geographical position of an Address or Place. The geographical position must be located on the geometry of the related Navlink feature.
This method must be implemented to enable editing of Places or Addresses.
The Address or Place feature whose RoutingPoint position to write.
the geographical position of the RoutingPoint.
Attribute writer to store turn-restrictions of two Navlink Features.
This method must be implemented to enable editing of Navlinks.
Indicates if the turn is allowed (true) or forbidden (false)
The Navlink and it's coordinate index from which to turn from
The Navlink and it's coordinate index to which you want to turn
Attribute writer for writing the zLevels of a Navlink feature.
This method must be implemented to enable editing of Navlinks.
the Navlink whose zLevels should be set
An array containing the zLevel for each coordinate of the Navlink
An array containing the zLevel for each coordinate of the Navlink.
Generated using TypeDoc
An IMLProvider is a remote HTTPProvider designed to work with HERE Interactive Map layer.
https://developer.here.com/documentation/data-api/data_dev_guide/rest/getting-data-interactive.html
https://interactive.data.api.platform.here.com/openapi/