Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

186
Vistas
¿Cómo editar el botón de geobúsqueda de ReactJS para centrar?

Quiero actualizar el mapa desde el botón para buscar, pero lo intenté desde el enlace https://smeijer.github.io/leaflet-geosearch/ usando ReactJS pero sigue fallando. ¿Y cómo lo cambias?

Ejemplo de imagen de búsqueda que quiero:

Ejemplo Buscar en el mapa

La vista de búsqueda es mía

¿Y cómo se ve mi codificación y qué necesito cambiar o agregar codificación?

 import { React, useState, useEffect } from 'react' import { LayersControl, MapContainer, TileLayer, useMap, } from 'react-leaflet' import icon from './constants' import List from '../Component/List' import L from 'leaflet' import 'leaflet-easybutton/src/easy-button' import 'leaflet-easybutton/src/easy-button.css' import { SearchControl, OpenStreetMapProvider } from 'leaflet-geosearch' const { BaseLayer } = LayersControl function LeafletgeoSearch() { const map = useMap() const provider = new OpenStreetMapProvider({ params: { 'accept-language': 'id', countrycodes: 'id', addressdetails: 1, }, }) useEffect(() => { const searchControl = new SearchControl({ notFoundMessage: 'Sorry, that address could not be found.', provider, marker: { icon, }, }) map.addControl(searchControl) return () => map.removeControl(searchControl) }, []) return null } export default function MyMapMe() { const [map, setMap] = useState(null); const [position, setPosition] = useState(null); useEffect(() => { if (!map) return; L.easyButton("fa-map-marker", () => { map.locate().on("locationfound", function (e) { setPosition(e.latlng); map.flyTo(e.latlng, map.getZoom()); }); }).addTo(map); }, [map]); return ( <div className="flex ml-auto"> <List /> <div className="w-4/5"> <MapContainer center={{ lat: 51.505, lng: -0.09 }} zoom={20} style={{ height: '100vh' }} whenCreated={setMap} > <LeafletgeoSearch /> <LayersControl> <BaseLayer checked name="OpenStreetMap"> <TileLayer attribution='&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors' url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png " /> </BaseLayer> </LayersControl> </MapContainer> </div> </div> ) }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Estás cerca. Necesitas aplicar algunos cambios de css. La fuente puede ser este problema de github con algunos ajustes adicionales

En styles.css agregue los siguientes cambios:

 .leaflet-control-geosearch form { display: block; position: fixed; top: 10px; left: 10px; right: 10px; margin: 0 auto; } .leaflet-control-geosearch form input { width: 100%; } .leaflet-control-geosearch .leaflet-bar-part { display: none; }

Manifestación

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda