如何使用 jvectormap 添加带有系列的标记?
How to add markers with series with jvectormap?
我正在尝试向地图添加标记。标记具有值,因此每个标记都有不同的值。我希望根据这些值,圆圈将具有不同的半径。这就是我所做的:
geochart.removeAllMarkers();
for (var i=0; i<selected_locations.length; i++) {
loc = selected_locations[i];
geochart.addMarker(i, locations_data[loc], addedSeries[i] || {}) ;
}
addedSeries
是一个数组,就像 [12,0,0,610]
selected_locations
是一个数组,就像 ["11", "12", "5", "2"]
locations_data
是一个数组,就像
{
...
"11": {"latLng": [37.89,-4.78], "name": "Location A"},
"12": {"latLng": [37.18,-3.59], "name": "Location B"},
...
}
geochart
是一个 jvm.Map
实例。
我得到的当前行为是正在创建标记,但半径始终相同。
有什么线索吗?
浏览代码很容易,但有点棘手。看来我需要添加一个值列表,每个值对应在 map
的 series
部分声明的每个标记类型。这是我的 map
:
var geochart = new jvm.Map({
container: $('.spain-map'),
map: 'es_mill_en',
markers: markers,
series: {
markers: [{
attribute: 'r',
scale: [5, 20],
values: [...]
},{
attribute: 'fill',
scale: ['#00CC00', '#CC0000'],
values: [...]
}]
}
});
所以我是这样解决的:
geochart.addMarker(i,
locations_data[loc],
[ addedSeries[i], addedSeries[i] ] || {}
);
我正在尝试向地图添加标记。标记具有值,因此每个标记都有不同的值。我希望根据这些值,圆圈将具有不同的半径。这就是我所做的:
geochart.removeAllMarkers();
for (var i=0; i<selected_locations.length; i++) {
loc = selected_locations[i];
geochart.addMarker(i, locations_data[loc], addedSeries[i] || {}) ;
}
addedSeries
是一个数组,就像 [12,0,0,610]
selected_locations
是一个数组,就像 ["11", "12", "5", "2"]
locations_data
是一个数组,就像
{
...
"11": {"latLng": [37.89,-4.78], "name": "Location A"},
"12": {"latLng": [37.18,-3.59], "name": "Location B"},
...
}
geochart
是一个 jvm.Map
实例。
我得到的当前行为是正在创建标记,但半径始终相同。
有什么线索吗?
浏览代码很容易,但有点棘手。看来我需要添加一个值列表,每个值对应在 map
的 series
部分声明的每个标记类型。这是我的 map
:
var geochart = new jvm.Map({
container: $('.spain-map'),
map: 'es_mill_en',
markers: markers,
series: {
markers: [{
attribute: 'r',
scale: [5, 20],
values: [...]
},{
attribute: 'fill',
scale: ['#00CC00', '#CC0000'],
values: [...]
}]
}
});
所以我是这样解决的:
geochart.addMarker(i,
locations_data[loc],
[ addedSeries[i], addedSeries[i] ] || {}
);