Jquery映射在传递json值时不显示点

时间:2012-05-07 02:25:11

标签: jquery json google-maps-api-3

我正在使用名为GMap2的jquery地图脚本。我通过jquery / ajax调用我的php脚本并以json格式返回标记信息。问题是,当我这样做时,地图点不会出现。但是如果我手动添加json值,地图点就可以了。这是我调用gmap代码的代码:

$('.shownearby').click(function () {

    $.ajax({
        cache:false,
        url:'path/to/php/script',
        dataType:'json',
        success: function(data) {

            $('#showmap').gMap(
                    {
                        latitude   : data.dlat,
                        longitude  : data.dlon,
                        address    : data.daddress,
                        maptype    : 'ROADMAP',
                        zoom       : 10,
                        markers    : data.nearby
                    }

            );

        }

    });

    return false;

});

如您所见,markers选项正在从成功传回的json变量数据中加载near附近的值。你可以看到一个从data.nearby返回的条目示例(为了示例目的,我将lat / long / html替换为虚拟数据):

[{"latitude":"latva","longitude":"latlon","html":"htmlstuff"}]

但是,当我传递这些信息时,它不起作用,但是如果我将json值粘贴到其上方,其中lat / long和html值直接在markers变量旁边,那么地图点就可以了。知道问题是什么吗?

以下是在gmap2脚本中使用多个点的示例代码:

$('#map_addresses').gMap({
    address: "Quito, Ecuador",
    zoom: 5,
    markers:[
        {
            latitude: -2.2014,
            longitude: -80.9763,
            html: "_latlng"
        },
        {
            address: "Guayaquil, Ecuador",
            html: "My Hometown"
        },
        {
            address: "Galapagos, Ecuador",
            html: "_address"
        }
    ]
});

1 个答案:

答案 0 :(得分:0)

好看,现在看起来很有效。必须更新附近的标记值:

markers : jQuery.parseJSON(data.nearby)

如果有人可以证明这是正确的事情。