来自json的Jvectormap标记

时间:2013-08-18 08:15:34

标签: jquery world-map

$(function(){
$.getJSON('data.json', function(data){
new jvm.WorldMap({
map: 'world_mill_en',
container: $('#map'),
markers: [
  {latLng: [47.5, 19.0833], name: '1'},
  {latLng: [51.5170, -0.1050], name: '2'}
],
//markers : data.results,
});
});
});

代码有效,但从JSON加载时没有任何反应。我认为我的JSON格式不正确。如何更正我的data.json?

{[“latLng”:[47.5,19.0833],“name”:“1”},{latLng:[51.5170,-0.1050],name:“2”}]}

2 个答案:

答案 0 :(得分:3)

因此,对于那些寻求正确答案的人来说,这就是答案 -

这应该是<script>标记内的代码:

$(function(){
    $.getJSON('data.json', function (data) {
      $('#world-map').vectorMap({
        map: 'world_merc',
        hoverOpacity: 0.7,
        hoverColor: false,
        backgroundColor: '#ddd',
        markerStyle: {
            initial: {  
                stroke: null
            }
        },
        markers: data       // --- The data from the JSON file will be given here
        })
      }); 
    });

JSON文件如下:

[
    {
        "latLng": [-36.85, 174.78],
        "name": "Singapore",
        "style": {"fill": "green"}
    },
    {
        "latLng": [-36.85, 174.78],
        "name": "Brazilia",
        "style": {"fill": "green"}
    },
    {
        "latLng": [-36.85, 174.78],
        "name": "Rio De Janeiro",
        "style": {"fill": "green"}
    }
]

(PS:JSON文件中的样式行是另一个函数。)

希望它有用,欢呼!

答案 1 :(得分:0)

第二个Array对象元素周围缺少引号。

{["latLng":[47.5,19.0833], "name": "1"},{latLng: [51.5170, -0.1050], name: "2"}]}

应该是

{["latLng":[47.5,19.0833],"name":"1"},{"latLng":[51.5170,-0.1050],"name":"2"}]}