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

88
Vistas
Crear grupos de capas por valor de opción en el folleto

Tengo una matriz JS de marcadores y me gustaría crear objetos de grupo de capas basados en el valor del icono.

arrayMarkers = [marcador1, marcador2, marcador3, marcador4, marcador5, marcador6];

contenido de arrayMarkers por línea (marcadores ordenados por icono):

 marker1 = L.marker ([4.8,44.7], {icon :'http://…icon_A.png'}) marker2 = L.marker ([4.1,44.2], {icon :'http://…icon_A.png'}) marker3 = L.marker ([4.5,44.9], {icon :'http://…icon_B.png'}) marker4 = L.marker ([4.2,44.5], {icon :'http://…icon_B.png'}) marker5 = L.marker ([4.2,44.5], {icon :'http://…icon_B.png'}) marker6 = L.marker ([4.9,44.7], {icon :'http://…icon_C.png'})

Objetivo: arrayLayerGroup = [capa1, capa2, capa3];

contenido de arrayLayerGroup:

 layer1 = L.layerGroup ([marker1, marker2]) layer2 = L.layerGroup ([marker3, marker4, marker5]) layer3 = L.layerGroup ([marker6])

Probé este código, optionIcon devuelve 'http://...icon_A.png' como se esperaba, pero no tengo idea de cómo comparar valores de la misma matriz. No puedo comparar línea por línea ya que las coordenadas siempre son diferentes:

 var j=1; for (i=0; i<arrayMarkers.length; i++){ var optionIcone = arrayMarkers[i].options.icon.options.iconUrl; var optionIcone2 = arrayMarkers[j].options.icon.options.iconUrl; if (optionIcone !== optionIcone2){ var layer = L.layerGroup([arrayMarkers[i]]); arrayLayerGroup.push(layer); j++; } }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Por ejemplo, usando Lodash groupBy :

 // Group the Markers by iconUrl var markersGroupedByIconUrl = _.groupBy(arrayMarkers, "options.icon.options.iconUrl"); // Convert each group of Markers which have same iconUrl into a Layer Group var arrayLayerGroup = Object.values(markersGroupedByIconUrl) .map((listOfMarkers) => L.layerGroup(listOfMarkers));
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