在echarts制作地图时,使用到geoCoordMap,其格式如下:
var geoCoordMap = {
"舟山":[122.207216,29.985295],
"齐齐哈尔":[123.97,47.33],
"盐城":[120.13,33.38],
"拉萨":[91.11,29.97],
"南宁":[108.33,22.84],
}
这是一组非数组,非标准JSON格式的非常规对象,如果利用ajax获取后使用字符串拼接,是无法显示字符串到对象的转化的,该方案放弃。
success: function (res) {
if (res.data) {
var arr = res.data;
for (var j = 0; j < arr.length; j++) {
a1 += "\"" + arr[j].name + "\":[" + arr[j].lon + "," + arr[j].lat + "],";
}
目前的解决方案,是直接通过后台生成geoCoordMap.js文件,内部按照其格式开发,前端直接调用:
<!--所有位置信息的geoCoordMap,需提前生成-->
<script type="text/javascript" src="js/geoCoordMap.js"></script>
Done!