0

以下 javascript 代码不起作用,它对 google fusion 表有查询。

$('#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);                       
                }
}); 

如果我删除具有 orderby 子句的查询行(如下所示),它可以正常工作

$('#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);                       
                }
}); 

请建议热修复此查询

4

1 回答 1

2

“orderBy”属性似乎作为一个字符串工作。代替:

'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
      }, 

工作示例

于 2012-07-18T13:53:34.230 回答