jquery - 从 PHP 返回的 JSON 未由 jQuery.each() 正确处理以在 Google map 上显示为新标记

标签 jquery ajax google-maps google-maps-api-3 google-maps-markers

我将使用 SQL 生成的 PHP 脚本中的 JSON 数据返回到客户端的 jQuery.each(),根据用户在过滤表单中选择的内容并单击提交,更新所有返回的 JSON 数据并将其显示为我的 Google map 上的标记。

问题是而不是将返回的 JSON 数据显示为新标记,它只是边界在已显示的标记上标记(页面最初加载时的默认标记)。

我在这里做错了什么?

我使用this jQuery plugin使用我的 Google map 。

我返回的 JSON 如下所示:

[{"Name":"John Smith","Address":"123 Fake St.", "Telephone":"50011111" ,"Lat":"coord values","Lng":"coord values"},{...repeat...},{}]

提交按钮的 Jquery:

$('#myform').on('submit', function(e) {
                    e.preventDefault();
                    var myData = $('#myform').serializeArray();
                    $.getJSON('phpscript.php', myData, function(json){
                        var theMarkers = json;
                        // alert(JSON.stringify(json));
                        $.each(theMarkers, function(i, val) {                           
                            $('#map_canvas').gmap('addMarker', { 'position': new google.maps.LatLng(val.Lat, val.Lng), 'bounds':true, 'icon':'mymarker.png' } ).click(function(){                               
                                $('#map_canvas').gmap('openInfoWindow', { 'content': '<h1>'+val.Name+'</h1>'+'<h2 style="color: grey">'+val.Address+'</h2><p style="color: green">'+val.Telephone+'</p>' }, this);
                            });                     
                        });

                    }); 
                });

最佳答案

您确实意识到,在 $.each 函数中,i 是索引,val 是当前迭代中的对象。

您确定它不应该是 val.Nameval.Address 等,因为这会访问 json 对象中的这些值,另一方面 i.name 可能只是当前索引,如 4.name 等。??

关于jquery - 从 PHP 返回的 JSON 未由 jQuery.each() 正确处理以在 Google map 上显示为新标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10803193/

相关文章:

javascript - owl carousel 在 ajax 加载的项目上不能正常工作

javascript - 对 Javascript 中的轻量级开源 AJAX 库的建议

javascript - 如何动态更新kml文件/图层?

jquery - HTML 文本框显示的工具提示值与文本框值相同,无论哪个键输入

jquery - 如何在 jQuery 中实时绑定(bind)点击处理程序

javascript - 在 ASP.NET MVC View 中切换 aria-pressed=true/false 引发错误

javascript - 具有自动定时动画和控件的自定义 slider

jquery - $.ajax() 处理我的 url 编码字符串

swift - 如果表为空则显示 map

android - 错误 : cannot find symbol method getMap() after dependencies update