Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

417
Visualizações
Cómo agregar una ventana emergente al hacer clic en la capa usando Vue3 y el folleto

Estoy creando una aplicación web usando Vue 3 y Leaflet. Yo uso el complemento vue-leaflet .

Tengo un mapa de fondo y capas superpuestas, es decir, capas de mosaico WMS servidas por Geoserver.

Ahora quiero que se abra una ventana emergente en la ubicación (latitud, longitud) donde hago clic en la capa. Para el complemento vue-leaflet, solo pude encontrar ejemplos para agregar una ventana emergente a marcadores, círculos o geometrías, pero ningún ejemplo para ventanas emergentes en capas.

Para empezar, traté de definir una función de folleto que agrega una ventana emergente al mapa cuando se ejecuta un evento de clic. pero eso me tira un error. Encuentre el fragmento de código relevante y el registro de errores adjuntos.

¿Alguna idea de cómo abordar esto? ¿Usando el complemento vue-leaflet o el script de folleto puro?

Me alegra cualquier idea =)

//HTML

 <div id="bg-map"> <l-map ref="map" v-model="zoom" v-model:zoom="zoom" :center="center" :options="{zoomControl:false, attributionControl:false}" :minZoom="minzoom" @click="addPopUp" > <!-- Layers from Geoserver as cached tile layers: --> <l-wms-tile-layer v-for="wmsLayer in getCheckedLayers" :key="wmsLayer.path" :layers="wmsLayer.path" :format="format_tile" :transparent="true" :tiled="true" :zIndex="wmsLayer.zindex" :base-url="wmsurl" :visible="true" :opacity="wmsLayer.opacity" > </l-wms-tile-layer>

// JS

 methods: { addPopUp(e) { const map = this.$refs.map.leafletObject; var popLocation = e.latlng; var popup = new L.popup() .setLatLng(popLocation) .setContent('<p> Hello popup </p>') .openOn(map) },

// registro de errores

 Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'. at NewClass._updateContent (leaflet-src.esm.js?6bb3:9617:1) at NewClass.update (leaflet-src.esm.js?6bb3:9528:1) at NewClass.onAdd (leaflet-src.esm.js?6bb3:9465:1) at NewClass.onAdd (leaflet-src.esm.js?6bb3:9751:1) at NewClass._layerAdd (leaflet-src.esm.js?6bb3:6561:1) at Proxy.whenReady (leaflet-src.esm.js?6bb3:4422:1) at Proxy.addLayer (leaflet-src.esm.js?6bb3:6623:1) at Proxy.openPopup (leaflet-src.esm.js?6bb3:9975:1) at NewClass.openOn (leaflet-src.js?e11e:9752:1) at Proxy.addPopUp (BGMap.vue?112f:315:1)
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda