jquery - 如何使用 jQuery 访问多维 JSON 的值并将它们绘制在 Google map 上

标签 jquery json google-maps google-maps-api-3 multidimensional-array

我有一个多维 JSON,我想用它的数据在我的 Google map 上绘制标记。

我使用 this plugin for Jquery 来处理我的 Google map

使用我当前的代码,我在 map 上看不到任何标记。可能是什么原因造成的?

在发生 init 事件时 - 脚本应迭代 JSON 数据,将其绘制在 map 上,并创建/附加信息框为每个标记的每个属性的每个值使用适当的 HTML 标记。

我的 JSON 如下所示:

[{product:{productName:"ProductA", productPrice:"19.99", productQuantity:"12", Lat:"53.573858", Lng:"45.985456"}},{product:{... repeat ...}}, {...}]

我的 jQuery 的 $.each() 看起来像这样:

$('#map').gmap(mapOptions).bind('init', function () {
    $.post('myscript.php', function (json) {
        var theMarkers = json;
        $.each(theMarkers.product, function (i, object) {
            $.each(object, function (property, value) {
                $('#map').gmap('addMarker', {
                    'position': new google.maps.LatLng(object.Lat.value, object.Lng.value),
                    'bounds': true,
                    'icon': 'myicon.png'
                }).click(function () {
                    $('#map').gmap('openInfoWindow', {
                        'content': '<h1>' + object.productName.value + '</h1>' + '<h2 style="color: grey">' + object.productPrice.value + '</h2><p style="color: green">' + object.productQuantity.value + '</p>'
                    }, this);
                });
            });
        });
    });
});

最佳答案

这些产品比您当前代码假设的更深一层。所以与

var theMarkers = json;
$.each(theMarkers, function (i, object) {
...

您将获得包含您的产品的对象,但 Markers 本身没有任何名为 product 的属性。

您可以使用以下代码进行测试:

$.each(theMarkers, function (i, o) {
  console.log(i, o);
});

关于jquery - 如何使用 jQuery 访问多维 JSON 的值并将它们绘制在 Google map 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10852484/

相关文章:

javascript - mongodb 中的对象元数据(架构)设计

android - 如何在 Android map v2 中计算复杂多边形的轮廓

javascript - Google map 高级缩放级别

javascript - Ajax 提交后的 Jquery 函数不起作用

javascript - jQuery 拖放表格列

javascript - 如何在不按 Javascript 中的相关按钮的情况下自动执行按钮的某些操作(确定/提交)?

java - Android 谷歌地图授权失败

javascript $ 后跟大括号

javascript - 如何解析 Handlebars 中已更改的 json 数据?

ios - 我如何通过 URL 将数据发送到服务器。[iOS]