2012-07-18 155 views
0

下面的JavaScript代碼不工作,其中有一個查詢到谷歌融合表。谷歌融合表查詢

$('#map_canvas').gmap({ 'center': new google.maps.LatLng(37.447038,-122.160575), 'zoom': 11, 'mapTypeId' : google.maps.MapTypeId.ROADMAP, 'callback': function(map) { 

$('#map_canvas').gmap('loadFusion', { 'query': { 


    'from': '297050' , 
    'orderBy': ST_DISTANCE('Address', LATLNG(37.447038,-122.160575)), 
    'limit':10 } }); 

var t = setTimeout(function() {$('#dialog').dialog('close');}, 2000);      
       } 
}); 

如果我刪除具有排序依據子句中的查詢行(如下),它工作正常

$('#map_canvas').gmap({ 'center': new google.maps.LatLng(37.447038,-122.160575), 'zoom': 11, 'mapTypeId' : google.maps.MapTypeId.ROADMAP, 'callback': function(map) { 

$('#map_canvas').gmap('loadFusion', { 'query': { 


    'from': '297050' , 

    'limit':10 } }); 

var t = setTimeout(function() {$('#dialog').dialog('close');}, 2000);      
       } 
}); 

請指教熱來解決這個查詢

回答

2

的「排序依據」屬性似乎工作作爲一個字符串。相反的:

'from': '297050' , 
'orderBy': ST_DISTANCE('Address', LATLNG(37.447038,-122.160575)), 
'limit':10 } }); 

嘗試(注意雙引號(「)周圍的OrderBy屬性:

 query: { 
     select: 'Address', 
     from: 297050, 
     orderBy: "ST_DISTANCE('Address', LATLNG(37.447038,-122.160575))", 
     limit:5 
     }, 

Working example

+0

感謝您的解決方案 - 工作的例子是非常有幫助! – 2012-07-18 18:27:42