1
$(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],“名称”:“1”},{latLng:[51.5170,-0.1050],名称:“2”}]}

4

2 回答 2

4

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

这应该是标签内的<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 文件中的样式行是用于另一个函数的。)

希望对你有帮助,加油!

于 2016-09-02T11:19:09.823 回答
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"}]}
于 2013-08-18T08:21:05.253 回答