1

我正在使用一个名为 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;

});

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

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

但是,当我再次传递此信息时,它不起作用,但是,如果我将上面的 json 值粘贴到标记变量旁边,它直接具有 lat/long 和 html 值,则地图点就会出现。知道问题是什么吗?

这是在 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"
        }
    ]
});
4

1 回答 1

0

好的,看起来它现在可以工作了。必须将附近的标记值更新为:

markers : jQuery.parseJSON(data.nearby)

如果有人可以验证这是正确的做法。

于 2012-05-07T02:42:50.933 回答