Files
leaflet-geosearch/docs/providers/pelias.mdx
2021-10-12 08:39:45 +02:00

75 lines
2.1 KiB
Plaintext

---
name: Pelias
menu: Providers
route: /providers/pelias
---
import Playground from '../components/Playground';
import Map from '../components/Map';
# Pelias Provider
[Pelias][1] is an open-source geocoder powered completely by open data, available freely to everyone.
In order to use this provider you'll need to have your own Pelias server running.
The [Docker][3] repository provides the quickest path to running your own server.
See the [Pelias documentation][2] for more detailed information about the available endpoints and query parameters.
Looking for a hosted version of Pelias? check out the Geocode Earth provider.
<Playground>
<Map provider="Pelias" />
</Playground>
```js
import { PeliasProvider } from 'leaflet-geosearch';
// Pelias servers are self-hosted so you'll need to configure the 'options.host' string
// to identify where requests to your running pelias/api server instance should be sent.
// note: you SHOULD include the scheme, domain and port but NOT any path or parameters.
const provider = new PeliasProvider({ host: 'http://localhost:4000' });
// add to leaflet
import { GeoSearchControl } from 'leaflet-geosearch';
map.addControl(
new GeoSearchControl({
provider,
}),
);
```
## Optional parameters
Pelias supports a wide range of number of [optional parameters][4] which can be applied to every request using the `params` object:
```js
const provider = new PeliasProvider({
params: {
size: 5, // limit the total number of results returned
lang: 'nl', // render results in Dutch
'boundary.country': 'NL', // limit search results to the Netherlands
layers: 'address,street', // limmit which layers are queried
},
});
```
Or individually on a per-request basis:
```js
const results = await provider.search({
query: {
text: 'example',
'focus.point.lat': 1.11, // score results nearer to the focus point higher
'focus.point.lon': 2.22,
},
});
```
[1]: https://github.com/pelias/pelias
[2]: https://github.com/pelias/documentation
[3]: https://github.com/pelias/docker
[4]: https://github.com/pelias/documentation/blob/master/autocomplete.md