根据用户在过滤表单中选择的内容并单击提交,我将使用 , 生成的PHP脚本中的JSON数据返回到我的客户端,以更新所有返回的数据并将其显示为我的 Google 地图上的标记。SQL
jQuery.each()
JSON
问题不是将返回的JSON
数据显示为新标记,而是将其限制在已显示的标记上(最初加载页面时的默认标记)。
我在这里做错了什么?
我使用这个 jQuery 插件来处理我的谷歌地图。
我返回的 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);
});
});
});
});