我有一个带搜索框的示例融合表地图图层。我想使用该框搜索融合表中的特定位置并缩放到该点。 serach框中的自动完成工作正常,但缩放到特定点是不起作用。有没有其他方法来解决它?我的融合表link is here。
答案 0 :(得分:0)
您需要了解FusionTable中数据的格式。您正在使用geoxml3来解析它,就像它是KML一样,但它是一个双列位置(纬度/经度)。对于该格式,查询这两列,并使用结果居中和缩放地图(您不需要geoxml3)。
if(searchString == "") {
var query="SELECT 'Lat','Long' FROM " + tableid;
}
else {
var query="SELECT 'Lat','Long' FROM " + tableid + " WHERE 'Station Name' = '" + searchString + "'";
}
zoom2query(query);
和
function zoomTo(response) {
if (!response) {
alert('no response');
return;
}
if (response.isError()) {
alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
return;
}
var lat = response.getDataTable().getValue(0,0);
var lng = response.getDataTable().getValue(0,1);
var zoom_level = 15;
var location = new google.maps.LatLng(lat,lng);
map.setCenter(location);
map.setZoom(zoom_level);
}