options to configure the provider
OptionalidThe id of the Provider
Optionalmargindefault tile margin.
The name of the Provider.
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
Optional_c: anyAdd 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
// add multiple features to the provider.
provider.addFeature([{
type: "Feature"
geometry: {
coordinates: [[-122.49373, 37.78202], [-122.49263, 37.78602]],
type: "LineString"
}
},{
type: "Feature"
geometry: {
coordinates: [[-122.49375, 37.78203], [-122.49265, 37.78604]],
type: "LineString"
}
}]);
Add a feature to the provider.
the feature to be added to the provider
OptionalupdateTileSet: Set<Tile>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.
Cancel ongoing request(s) of a tile. The tile will be dropped.
Optionalcb: anyGet or set configuration options for the provider.
If a string is provided as the first argument, returns the value of the corresponding property. If an object is provided, sets the provider's properties according to the object.
The configuration key as a string to get a value, or an object to set multiple options.
Experimental
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.
OptionalallowTurn?: (Optional callback function to determine if a turn is allowed between road segments. If not provided, all turns are considered allowed.
The starting coordinates defining the path.
The ending coordinates of the path.
Optionalweight?: (Optional callback function to determine the weight (cost) of traversing a road segment.
A Promise that resolves to an object containing the path, additional information, and the distance of the path.
const pathOptions = {
from: [startLongitude, startLatitude],
to: [endLongitude, endLatitude],
// optional
allowTurn: (turn) => {
// Custom logic to determine whether a turn is allowed
return true;
},
// optional
weight: (data) => {
// Custom weight function to determine the cost of traversing a road segment
return data.distance; // Default implementation uses distance as the weight
},
};
const result = await provider.findPath(pathOptions);
console.log(result);
Get a locally cached tile by quadkey.
the quadkey of the tile
Retrieves cached tiles within a specified bounding box or all cached tiles if no parameters are provided.
If no arguments are passed, all cached tiles are returned.
If a bounding box (bbox) and/or zoom level (zoomlevel) are provided, it filters the cached tiles based on the specified area and zoom level.
Optionalbbox: number[]
An optional array of coordinates defining the bounding box in the format: [minLon, minLat, maxLon, maxLat].
If provided, only tiles within this geographic area will be returned.
Optionalzoomlevel: number
An optional zoom level to filter tiles. If provided, only tiles at the specified zoom level will be returned.
Gets a feature from the provider by id.
the id of the feature
the found feature or undefined if feature is not present.
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
quadkey of the tile
will be called as soon as tile is ready for consumption
the Tile
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.
Optional_c: anyRemove feature(s) from the provider.
features that should be removed from the provider
Remove feature(s) from the provider.
features that should be removed from the provider
OptionalupdateTileSet: Set<Tile>Search for feature(s) in the provider.
configure the search
Optionalid?: string | numbersearch feature by id.
Optionalids?: number[] | string[]Array of feature ids to search.
Optionalpoint?: GeoPointGeographical center point of the point to search in. options.radius must be defined.
Optionalradius?: numberRadius of the point in meters, it is used in "point" search.
Optionalrect?: GeoRect | GeoJSONBBoxGeographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.
array of features
// searching by id:
layer.search({id: 1058507462})
// or:
layer.search({ids: [1058507462, 1058507464]})
// searching by point and radius:
layer.search({
point: { longitude: 72.84205, latitude: 18.97172 },
radius: 100
})
// searching by Rect:
layer.search({
rect: { minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876 }
})
Point Search for feature(s) in provider.
Geographical center point of the point to search in. options.radius must be defined.
Optionaloptions: { radius: number }
configure the search
The radius of the circular area in meters to search in.
Rectangle Search for feature(s) in provider.
Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.
Search for feature by id in the provider.
id of the feature to search for
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 the tile margin in pixel.
the tileMargin
A remote tile provider fetches data from remote data-sources.