1
// Update the radius when the user makes a selection.
google.maps.event.addDomListener(document.getElementById('radius'),
    'change', function() {
       var meters = parseInt(this.value, 10);
       layer.setOptions({
         query: {
           select: locationColumn,
           from: tableId,
           where: 'ST_INTERSECTS(Latitude, ' +
               'CIRCLE(LATLNG(53.337638, -6.266971), ' + meters + '))'
          }
       });
       circle.setRadius(meters);
       //alert(position);
       //circle.setCenter(new google.maps.LatLng(position));
});

我想将(53.337638,-6.266971)更改为变量'位置',位置与(x,y)具有相同的值类型,但它不适用于:'ST_INTERSECTS(纬度,'+'CIRCLE (LATLNG('+position+'), '+meters + '))' 如何修改代码?

4

2 回答 2

0

您可以单独指定 的两个属性position,如下所示:

LATLNG(position.x, position.y)
于 2012-02-23T23:53:31.063 回答
0

一个简短的解决方案是:

var position = [53.337638, -6.266971];
// irrelenant query code skipped
... + 'CIRCLE(LATLNG('+position[0]+','+position[1]+'), ' ...

一个更长(但在语义上更好)的解决方案是定义一个具有两个属性的对象,然后重载其 toString() 方法。

于 2012-02-23T23:54:03.197 回答