UNPKG

leaflet-control-geocoder

Version:

Extendable geocoder with builtin support for Nominatim, Bing, Google, Mapbox, Photon, What3Words, MapQuest, Mapzen

57 lines (50 loc) 1.43 kB
<!DOCTYPE html> <html> <head> <title>Leaflet Control Geocoder</title> <meta name='viewport' content='width=device-width, user-scalable=no initial-scale=1, maximum-scale=1'> <link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css" /> <link rel="stylesheet" href="../dist/Control.Geocoder.css" /> <script src="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet-src.js"></script> <script src="../dist/Control.Geocoder.js"></script> <style type="text/css"> body { margin: 0; } #map { position: absolute; width: 100%; height: 100%; } </style> </head> <body> <div id="map"></div> <script type="text/javascript"> var map = L.map('map').setView([0, 0], 2), geocoder = L.Control.Geocoder.nominatim(), control = L.Control.geocoder({ geocoder: geocoder }).addTo(map), marker; L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', { attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors' }).addTo(map); map.on('click', function(e) { geocoder.reverse(e.latlng, map.options.crs.scale(map.getZoom()), function(results) { var r = results[0]; if (r) { if (marker) { marker. setLatLng(r.center). setPopupContent(r.html || r.name). openPopup(); } else { marker = L.marker(r.center).bindPopup(r.name).addTo(map).openPopup(); } } }) }) </script> </body> </html>