2012-02-23 86 views
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)是一个varible“位置”,位置与(X,Y)相同的值类型,但它不与 哪里工作:“ST_INTERSECTS(纬度,'+ 'CIRCLE(LATLNG('+ position +'),'+ meters +'))' 如何修改代码?如何更改JavaScript代码?

回答

0

一个简短的解决方案是:

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

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

0

你可以单独指定的position两个属性,就像这样:

LATLNG(position.x, position.y)