我正在使用highcharts绘制气泡图,我已达到某个点,我根据状态代码(在/ RJ中)和值(1000)成功绘制气泡。
http://jsfiddle.net/voidSO/h2f4ugz4/
$(function () {
var mapData = Highcharts.geojson(Highcharts.maps['countries/in/in-all']);
var data = [{
"z": 10038,
"code": "RJ"
}, {
"z": 100,
"code": "PB"
}];
$('#container').highcharts('Map', {
chart: {
borderWidth: 1
},
title: {
text: 'World population 2010 by country'
},
subtitle: {
text: 'Demo of Highcharts map with bubbles'
},
legend: {
enabled: false
},
mapNavigation: {
enabled: true,
buttonOptions: {
verticalAlign: 'bottom'
}
},
series: [{
name: 'Countries',
mapData: mapData,
color: '#E0E0E0',
enableMouseTracking: false
}, {
type: 'mapbubble',
mapData: mapData,
name: 'Population 2010',
data: data,
joinBy: ['postal-code', 'code'],
minSize: 4,
maxSize: '12%',
tooltip: {
pointFormat: '{point.code}: {point.z} thousands'
}
}]
});
});
但是我没有使用状态代码来制作使用纬度和经度的气泡,而且我没有得到任何提示如何去做。
例如(RJ)拉贾斯坦邦(印度的一个国家)使用它的长度为26.5727°N,73.8390°E的纬度。
答案 0 :(得分:2)
您需要采取几个小步骤。首先,包括进行坐标系转换的Proj4s。这归结为:
<script src="http://.../proj4.js"></script>
其次,您应该将mapData
换成这样:
var mapData = Highcharts.maps['countries/in/in-all'];
这样做的原因是将其包装在Highcharts.geojson
中意味着Highmaps不会将其识别为来自其自己的集合的地图,并且不允许轻松进行lat / lng转换。
最后一件事是使用纬度和经度放置气泡,如下所示:
var data = [{
"z": 10038,
"lat": 26.5727,
"lon": 73.8390
// "code": "RJ"
}, {
"z": 100,
"code": "PB"
}];
请参阅this updated JSFiddle demonstration,其中使用lat / lng表示拉贾斯坦(RJ)。