GMAP3通过ajax get填充多个标记地址

时间:2013-07-15 05:46:29

标签: javascript jquery google-maps jquery-gmap3

我正在尝试使用gmap3 plugin向Google地图动态添加标记。在下面的代码中,当我将变量_addressList 传递给.gmap()时,它只显示1个标记。确切地说,只有最后一个标记显示 {地址:“100e 800n,84321”,数据:“标记4”}

// address sample format
{address: "727e 800n, 84321", data: "marker 1"}, 
{address: "900e 800n, 84321", data: "marker 2"},
{address: "200e 800n, 84321", data: "marker 3"},
{address: "100e 800n, 84321", data: "marker 4"},

这是我的ajax get代码。任何想法是我做错了什么?

        $.ajax({type: "GET",
            url: url,
            data: poststr,
            success: function(data)
            {
                var _add = new Array();
                var _data;
                for (i = 0; i < data.length; i++)
                {
                  _data = '{address: "'+data[i][1]+'", data: "'+data[i][0]+'"}';

                 _add.push(_data);
                }
                            //convert string to JSON
                            var _addressList = eval("(" + _add + ")");

                $("#map-canvas").gmap3({
                    marker:{
                            values: [ 
                                _addressList
                                ]
                            }   
                });


            },
            dataType: "JSON" 
            });
    }

1 个答案:

答案 0 :(得分:1)

您能为我们提供您网页的链接吗?无论如何,我注意到你的json字符串格式不正确。您可以在http://jsonlint.com验证它。

键应用双引号括起来

 [
    {
        "address": "727e 800n, 84321",
        "data": "marker 1"
    },
    {
        "address": "900e 800n, 84321",
        "data": "marker 2"
    }
]