2012-07-18 95 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