我决定从Fusion Tables获取管理区域。导入gpx文件后,我将其保存到MySQL
var layer = new google.maps.FusionTablesLayer({
query: {
select: 'geometry',
from: '1w7Z-O1F0g4s2suHq4mSlAJ-31MBPwVLB7vXKAuaY',
where: 'SELECT ST_INTERSECTS(LineFromText($trasa), geometry))'
}
});
layer.setMap(map);
之后我希望在地图上加载Fusion Table图层与代码
的gpx相交$.ajax({
type: "GET",
url: "uploads/<?php echo $row['file'] ?>",
dataType: "xml",
success: function(xml) {
var points = [];
var kolory=[];
$(xml).find("trkpt").each(function() {
var lat = $(this).attr("lat");
var lon = $(this).attr("lon");
var p = new google.maps.LatLng(lat, lon);
var layer = new google.maps.FusionTablesLayer({
query: {
select: '\'geometry\'',
from: '1w7Z-O1F0g4s2suHq4mSlAJ-31MBPwVLB7vXKAuaY',
where: 'ST_INTERSECTS(\'geometry\',CIRCLE(LATLNG('+ lat+","+lon +'), 0.5));'
}
});
layer.setMap(map);
points.push(p);
bounds.extend(p);
});
但加载了Fusion Table中的所有几何图形。哪里弄错了? TIA 4答案。
编辑 好的,我改变了我的查询,现在我已经
了-ldl
但我认为我的gpx前5个ponts中只有5个Fusion Table Layers。我不知道,我怎样才能首先从gpx中选择包含点的区域,然后将它们添加为FTLayer :(
答案 0 :(得分:0)
您的查询无效:
where: 'SELECT ST_INTERSECTS(LineFromText($trasa), geometry))'
第一个参数必须是表中的列名。 (当前)不支持几何线。
<强> ST_INTERSECTS 强>
<spatial_condition>
在WHERE子句中使用。语法为:ST_INTERSECTS(
<location_column>
,<geometry>
)ST_INTERSECTS不能与ORDER BY ST_DISTANCE结合使用。
<geometry>
使用以下其中一项:
<circle>
<rectangle>
<location_column>
表格中包含位置数据的列的<column_name>
。