Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


This is leaflet plugin for photon.

Sample Usage

Use the map options to create a Photon search control when the map is created:

function myHandler(geojson) {

var map ='map', {
  photonControl: true,
  photonControlOptions: {
      resultsHandler: myHandler,
      placeholder: 'Try me …',
      position: 'topleft'}

Or create a control afterwards:

var searchControl = L.control.photon(photonControlOptions);


  • url URL of the Photon API to use. Default: ''
  • placeholder Placeholder of the search input. Default: "Start typing..."
  • noResultLabel Message to display when no result has been found. Default: "No result"
  • minChar Min char to be typed before actually searching (can be a function that takes the val as parameter and must return a boolean). Default: 3
  • limit Number of results max to return from API. Default: 5
  • submitDelay Min time buffer between to sent request, to avoid too much requests when typing fast (in milliseconds). Default: 300
  • includePosition Whether to include or not the map center as location bias for the search. Default: true
  • feedbackEmail Email to use as feedback link. Set to null to disable the feedback box. Default: ""
  • feedbackLabel Message for feedback link. Default: "Feedback"
  • lang land code (en, it, fr…) to send to Photon API. Default: null
  • onSelected Action to run when user select a search result. Default: center map on selected result's latlng
  • osm_tag osm_tag (e.g. 'boundary:administrative') to send to Photon API for filtering. Default: null
  • formatResult Optional function to control the way geojson features are displayed in the results box.
  • formatType Optional function to control the way features types (amenity, school, etc.) are displayed in the default formatResult function.
  • resultsHandler Optional function that will be called when a geojson is retrieved from the API. You way want to use this to display points in the map for instance.


  • focus sent on input focus
  • blur sent on input blur
  • hide sent on result box hide
  • selected sent on result select. Event: {choice: }
  • ajax:send sent when an ajax call is made
  • ajax:return sent when an ajax call is returned
You can’t perform that action at this time.