【问题标题】:Jquery map not showing points when passing json value传递json值时Jquery地图不显示点
【发布时间】:2012-05-07 02:25:10
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

    markers : jQuery.parseJSON(data.nearby)
    

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

    【讨论】:

    • 太好了,你搞定了。我认为你所做的没有任何问题。我的猜测是,当您使用引用 data.nearby 时,您只是将 markers 设置为指向一个字符串。即使它是一个 json 字符串,在你解析 json 之前它也不起作用。在这种情况下,您将 markers 设置为标记数据数组,这是您真正需要的。这似乎有道理,似乎没有任何缺点。
    • 如果您觉得自己回答了自己的问题并且您对结果感到满意,通常单击问题旁边的箭头标记以接受您自己的答案。它让其他所有人都知道问题已得到解答。
    • @Sean Mickey 是的,我了解接受我自己的答案,但是 Stackoverflow 让我等待 2 天才能接受我自己的答案。截至目前,它告诉我我明天可以接受。不过感谢您的信息!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-10
    • 2019-03-27
    • 2020-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多