Soy nuevo en Leaflet y estoy tratando de agregar la búsqueda de control en mi mapa, pero encuentro este error
TypeError no detectado: L.Control.geocoder no es una función
Ya agregué estos enlaces
<link rel="stylesheet" href="https://unpkg.com/leaflet-control-geocoder/dist/Control.Geocoder.css" /> <script src="https://unpkg.com/leaflet-control-geocoder/dist/Control.Geocoder.js"></script>Inicialicé mi mapa
var map = L.map('map').setView([40.71455, -74.00712], 10);Luego agregó el mapa base
var dark_matrix = L.tileLayer('https://tiles.stadiamaps.com/tiles/alidade_smooth_dark/{z}/{x}/{y}{r}.png', { minZoom: 3, maxZoom: 20, attribution: '© <a href="https://stadiamaps.com/">Stadia Maps</a>, © <a href="https://openmaptiles.org/">OpenMapTiles</a> © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors' }); dark_matrix.addTo(map);Agregue el control como este
L.Control.geocoder().addTo(map);También probé este
var searchControl = L.Control.geocoder(); searchControl.addTo(map);Pero todavía no funciona.
Aquí está el jsfiddle del proyecto https://jsfiddle.net/mgy01hwx/1/
Simplemente cambie el orden de los archivos de script. El complemento necesita que el código del folleto se importe primero para que funcione.
primera importación prospecto.js
luego importe folleto-geocoder.js
<script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js" integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA==" crossorigin=""></script> <script src="https://unpkg.com/leaflet-control-geocoder/dist/Control.Geocoder.js"></script>