stefanocudini / Leaflet Search
Licence: mit
Search stuff in a Leaflet map
Stars: ✭ 536
Programming Languages
javascript
184084 projects - #8 most used programming language
Projects that are alternatives of or similar to Leaflet Search
Leaflet Geoman
🍂🗺️ The most powerful leaflet plugin for drawing and editing geometry layers
Stars: ✭ 1,088 (+102.99%)
Mutual labels: gis, leaflet
Agentmaps
Make social simulations on interactive maps with Javascript! Agent-based modeling for the web.
Stars: ✭ 822 (+53.36%)
Mutual labels: gis, leaflet
Iclient Javascript
Modern GIS Web Client for JavaScript, based on Leaflet\OpenLayers\MapboxGL-JS\Classic(iClient8C), enhanced with ECharts\D3\MapV etc. Contributed by SuperMap & community.
Stars: ✭ 593 (+10.63%)
Mutual labels: gis, leaflet
swap
A Solver for the Wavelength Assignment Problem (RWA) in WDM networks
Stars: ✭ 27 (-94.96%)
Mutual labels: leaflet, gis
Inloco
A Geographic Information System (GIS) used by Ministério Público do Estado do Rio de Janeiro to show social, institutional and administrative data , based on React and Leaflet, interacting with a GeoServer back-end.
Stars: ✭ 51 (-90.49%)
Mutual labels: gis, leaflet
Ui Leaflet
AngularJS directive to embed an interact with maps managed by Leaflet library
Stars: ✭ 315 (-41.23%)
Mutual labels: gis, leaflet
georaster-layer-for-leaflet
Display GeoTIFFs and soon other types of raster on your Leaflet Map
Stars: ✭ 168 (-68.66%)
Mutual labels: leaflet, gis
Mapstore2
Modern webmapping with OpenLayers, Leaflet and React
Stars: ✭ 251 (-53.17%)
Mutual labels: gis, leaflet
Orb
Types and utilities for working with 2d geometry in Golang
Stars: ✭ 378 (-29.48%)
Mutual labels: gis
Prunecluster
Fast and realtime marker clustering for Leaflet
Stars: ✭ 473 (-11.75%)
Mutual labels: leaflet
Xbsjearthui
XbsjEarthUI是基于Cesium和EarthSDK的三维GIS/BIM的UI模板,可以基于此定制自己的三维App
Stars: ✭ 373 (-30.41%)
Mutual labels: gis
Koop
🔮 Transform, query, and download geospatial data on the web.
Stars: ✭ 505 (-5.78%)
Mutual labels: gis
Node Gdal
Node.js bindings for GDAL (Geospatial Data Abstraction Library)
Stars: ✭ 459 (-14.37%)
Mutual labels: gis
Blendergis
Blender addons to make the bridge between Blender and geographic data
Stars: ✭ 4,642 (+766.04%)
Mutual labels: gis
Leaflet Control Search
A Leaflet control that search markers/features location by custom property.
Support ajax/jsonp autocompletion and JSON data filter/remapping.
Licensed under the MIT license.
Copyright Stefano Cudini
Tested in Leaflet 0.7.x and 1.3.x
Where
Demo: labs.easyblog.it/maps/leaflet-search
Install
npm install --save leaflet-search
Options
Option | Default | Description |
---|---|---|
url | '' | url for search by ajax request, ex: "search.php?q={s}". Can be function to returns string for dynamic parameter setting |
layer | null | layer where search markers(is a L.LayerGroup) |
sourceData | null | function to fill _recordsCache, passed searching text by first param and callback in second |
jsonpParam | null | jsonp param name for search by jsonp service, ex: "callback" |
propertyLoc | 'loc' | field for remapping location, using array: ['latname','lonname'] for select double fields(ex. ['lat','lon'] ) support dotted format: 'prop.subprop.title' |
propertyName | 'title' | property in marker.options(or feature.properties for vector layer) trough filter elements in layer, |
formatData | null | callback for reformat all data from source to indexed data object |
filterData | null | callback for filtering data from text searched, params: textSearch, allRecords |
moveToLocation | null | callback run on location found, params: latlng, title, map |
buildTip | null | function to return row tip html node(or html string), receive text tooltip in first param |
container | '' | container id to insert Search Control |
zoom | null | default zoom level for move to location |
minLength | 1 | minimal text length for autocomplete |
initial | true | search elements only by initial text |
casesensitive | false | search elements in case sensitive text |
autoType | true | complete input with first suggested result and select this filled-in text. |
delayType | 400 | delay while typing for show tooltip |
tooltipLimit | -1 | limit max results to show in tooltip. -1 for no limit, 0 for no results |
tipAutoSubmit | true | auto map panTo when click on tooltip |
firstTipSubmit | false | auto select first result con enter click |
autoResize | true | autoresize on input change |
collapsed | true | collapse search control at startup |
autoCollapse | false | collapse search control after submit(on button or on tips if enabled tipAutoSubmit) |
autoCollapseTime | 1200 | delay for autoclosing alert and collapse after blur |
textErr | 'Location not found' | error message |
textCancel | 'Cancel | title in cancel button |
textPlaceholder | 'Search' | placeholder value |
hideMarkerOnCollapse | false | remove circle and marker on search control collapsed |
position | 'topleft' | position in the map |
marker | {} | custom L.Marker or false for hide |
marker.icon | false | custom L.Icon for maker location or false for hide |
marker.animate | true | animate a circle over location found |
marker.circle | L.CircleMarker options | draw a circle in location found |
Events
Event | Data | Description |
---|---|---|
'search:locationfound' | {latlng, title, layer} | fired after moved and show markerLocation |
'search:expanded' | {} | fired after control was expanded |
'search:collapsed' | {} | fired after control was collapsed |
Methods
Method | Arguments | Description |
---|---|---|
setLayer() | L.LayerGroup() | set layer search at runtime |
showAlert() | 'Text message' | show alert message |
searchText() | 'Text searched' | search text by external code |
Examples
(require src/leaflet-search.css)
Adding the search control to the map:
var searchLayer = L.layerGroup().addTo(map);
//... adding data in searchLayer ...
map.addControl( new L.Control.Search({layer: searchLayer}) );
//searchLayer is a L.LayerGroup contains searched markers
Short way:
var searchLayer = L.geoJson().addTo(map);
//... adding data in searchLayer ...
L.map('map', { searchControl: {layer: searchLayer} });
AMD module:
require(["leaflet", "leafletSearch"],function(L, LeafletSearch) {
//... initialize leaflet map and dataLayer ...
map.addControl( new LeafletSearch({
layer: dataLayer
}) );
});
Build
Therefore the deployment require npm installed in your system.
npm install
npx grunt
Use Cases
This list is intended to be of utility for all developers who are looking web mapping sample code to solve complex problems of integration with other systems using Leaflet Control Search.
Anyone can add the link of your website
(spamming urls will be automatically deleted)
- NMEA Generator
- Pouemes
- Folium
- OpenTopoMap
- Falesia.it
- Leaflet Control Search (Official demos)
- Parkowanie Gliwice
- Agenziauscite.Openstreetmap.it
- Modern Leaflet Toolbar
- UnGiro.it
- OpenBeerMap
- Spatial statistics for the city of Tampere, Finland
- BALIMIO Bali photo guide
- Flask Admin
- LIVE-Map LiF:YO
- OpenTrailMap
- Rutas Morelia
- EDSM - Galactic Map
- The area of effect of the "MOAB" bomb in Afghanistan
- Ipyleaflet
- Craft Ottawa
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].