【发布时间】:2021-02-27 16:08:15
【问题描述】:
我在 json 中有一组数据,我想为传单中的每个数据设置一个特定的标记颜色。 数据是这样的:
var BillingDate = [
{"branchcode":"668",
"saleyear":"99",
"saleprd":"3",
"LastX":"36.649717",
"LastY":"52.488193",
"flag":"1",
"flag_Title":null
},
{
"branchcode":"669",
"saleyear":"99",
"saleprd":"3",
"LastX":"36.712585",
"LastY":"52.935543",
"flag":"0",
"flag_Title":null
}
{
"branchcode":"669",
"saleyear":"99",
"saleprd":"3",
"LastX":"36.712585",
"LastY":"52.935543",
"flag":"2",
"flag_Title":null
}
];
我想说如果 flag===0 将标记颜色设置为蓝色,如果 flag===1 将标记颜色设置为红色等等。 我怎么能在传单中做到这一点?因为我猜if循环函数本身不起作用...... 我将此代码与 Awsome Markers 一起使用:
var customColor = "blue";
if (ODO[i].flag === 1)
customColor = "red";
else if (ODO[i].flag === 2)
customColor = "orange";
else if (ODO[i].flag === 3)
customColor = "green";
var customMarker = L.AwesomeMarkers.icon({
markerColor: customColor
});
var mainMap = L.marker( [ODO[i].LastX, ODO[i].LastY] , {icon: customMarker})
.bindPopup( popup );
markerClusters.addLayer( mainMap );
但它给了我一个错误
Layer.js:52 Uncaught TypeError: t.addLayer is not a function
at i.addTo (Layer.js:52)
at MarkerOnMap (functions.js:61)
at Object.success (app.js:213)
at i (0:4002)
at XMLHttpRequest.Request.f.onload (0:4179)
在线: window.mainMap.addLayer( markerClusters ); markerClusterLayer = L.markerClusterGroup({disableClusteringAtZoom: 13}).addTo(mainMap);
有人可以帮忙吗?
【问题讨论】:
-
检查
window.mainMap与mainMap。我怀疑其中之一是undefined。
标签: javascript leaflet maps markers leaflet.markercluster