Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

346
Views
Leaflet - more different icons on the map

I am currently using this library for my project

https://github.com/codersgyan/leaflet-store-locator

I want to add different icons for categories, like here categroy maps

I added it to JSON, but I can't display the icon

{
        "type": "Feature",
        "geometry": {
          "type": "Point",
          "coordinates": [ xxxxx, xxxxxx]
        },
        "properties": {
          "name": "xxx",
          "city": "xxx",
          "address": "xxx",
    
           "icon": {
            "iconUrl": "https icon url",
            "iconSize": [55, 55],
            "iconAnchor": [50, 50],
            "popupAnchor": [-15, -50],
            "className": "dot"
        }
        }
      },
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

There is a place in this code that needs to be changed: leaflet-store-locator

var myIcon = L.icon({
  iconUrl: 'marker.png',
  iconSize: [30, 40]
});

const shopsLayer = L.geoJSON(storeList, {
  onEachFeature: onEachFeature,
  pointToLayer: function(feature, latlng) {
    return L.marker(latlng, { icon: myIcon });
  }
});

Instead of a globally set marker, you need to add it to the pointToLayer function.

const shopsLayer = L.geoJSON(storeList, {
  onEachFeature: onEachFeature,
  pointToLayer: function(feature, latlng) {

    // check what you have exactly in the 'feature'
    // console.log(feature);
    var myIcon = L.icon({     
      // I'm not sure of the path, that's why it's above console.log(feature);
      iconUrl: feature.properties.icon.iconUrl,
      iconSize: feature.properties.icon.iconSize, 
      // and here is the rest of the icon configuration
    }); 
    return L.marker(latlng, { icon: myIcon });
  }
});
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!