javascript - Leaflet how to combine icons and circle markers in the same layergroup -
i have bunch of coordinates add onto leaflet map. coordinates tagged value "home" home-like svg icon , stored in homeicons
variable. other coordinates circular marker , stored in variable called circles
. current approach succeeds in turning circles
proper leaflet object not homeicons
. time combine them layer group using l.layergroup()
, objects 'homeicons' dropped out. please let me know if see problem code is. thank you!
var circles = []; var homeicons = []; var markeroptions = { radius : 10, fillcolor : 'yellow', color : 'null', weight : 1, opacity : 1, fillopacity : 0.8 }; var homeicon = l.icon({ iconurl: 'public/imgs/home_icon.svg', iconsize : [30, 30], iconanchor : [8, 18], popupanchor : [0, -15], }); var homemarker = l.marker([null, null], {icon: homeicon, opacity: 1}); (var i=0; i<data.length; i++) { var pois = json.parse(data[i].pois); (var n=0; n<pois.length; n++) { homemarker = {latlng:[pois[n].lat, pois[n].lng], name: data[i].name}; if (pois[n].poitag == "home") { homeicons.push(l.marker(homemarker)); } else { circles.push(l.circlemarker([pois[n].lat, pois[n].lng], markeroptions, {name: data[i].name})); } } } console.log(circles); // outputs array of leaflet objects console.log(homeicons); // not outputing array of objects similar properties leaflet objects var alllayers = l.layergroup(circles, homeicons); // supposed add both circles homeicons layergroup console.log(alllayers); // here, homeicons have disappeared. cb(alllayers); }
did check if "poitag" excists/spelled correct? provide example of data
if (pois[n].poitag == "home") { homeicons.push(l.marker(homemarker)); } else { circles.push(l.circlemarker([pois[n].lat, pois[n].lng], markeroptions, {name: data[i].name})); }
Comments
Post a Comment