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(Latitude, ' + 'CIRCLE」) では機能しません。 (LATLNG('+position+'), ' + メートル + '))' コードを変更するにはどうすればよいですか?

4

2 に答える 2

0

次のように、 の 2 つのプロパティを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]+'), ' ...

より長い (しかし意味的にはより良い) 解決策は、2 つのプロパティを持つオブジェクトを定義してから、その toString() メソッドをオーバーロードすることです。

于 2012-02-23T23:54:03.197 に答える