Leaflet geosearching/geocoding control
JavaScript CSS
Switch branches/tags
Nothing to show
Pull request Compare This branch is 198 commits behind smeijer:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


#Leaflet.GeoSearch Adds support for address lookup (a.k.a. geocoding / geoseaching) to Leaflet.

Check out the demo

#About the control The control uses so called providers to take care of building the correct service url and parsing the retrieved data into an uniformal format. Thanks to this split-up, it is pretty easy to write your own providers, so you can use your own geocoding service(s).

The control comes with an default set of three providers:

  • L.GeoSearch.Provider.Esri
  • L.GeoSearch.Provider.Google
  • L.GeoSearch.Provider.OpenStreetMap

Using these are pretty simple.

#Using the control

For example, to use the Esri provider:

new L.Control.GeoSearch({
    provider: new L.GeoSearch.Provider.Esri()

Or if you prefer using Google

new L.Control.GeoSearch({
    provider: new L.GeoSearch.Provider.Google()

Some people are really loving open source and by that openstreetmap

new L.Control.GeoSearch({
    provider: new L.GeoSearch.Provider.OpenStreetMap()

There are other configurable options like setting the position of the search input and whether or not a marker should be displayed at the position of the search result.

new L.Control.GeoSearch({
    provider: new L.GeoSearch.Provider.OpenStreetMap(),
    position: 'topcenter',
    showMarker: true

I really can't make it any harder. Checkout the providers to see how easy it is to write your own.