顯示爲新的標誌物我回JSON從PHP腳本數據,與SQL
產生的,我的客戶的jQuery.each()
,基於根據用戶在過濾表單中選擇的內容並點擊提交,更新並在我的Google地圖上將所有返回的JSON
數據顯示爲標記。返回的JSON沒有正確的處理jQuery.each()對谷歌地圖
問題是不是顯示返回JSON
數據作爲新的標誌物,它只是邊界上已經顯示的標記(當頁面初始加載默認的)。
我在這裏做錯了什麼?
我使用this jQuery plugin來處理我的Google地圖。
我返回的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);
});
});
});
});
而不是'alert()',使用'console.log(json)',檢查FF中的螢火蟲,然後回報。 – Xeoncross
@Xeoncross:我喜歡你說的。在FF的Web控制檯中,我看到了過濾後的JSON數據,就像我在原始文章中作爲示例提供的那樣。 – Bob
然後下一步是在$ .each循環內查找'console.log(val)'來查看該值是什麼。我們需要確保您所期望的數據實際上是通過您的代碼實現的。你也從來沒有提到你似乎正在使用的** jQuery Google Maps Plugin **的名稱,這可能是真正的問題。 – Xeoncross