0

我有一个带有搜索框的示例融合表地图图层。我想使用该框搜索融合表中的特定位置并缩放到该点。搜索框中的自动完成功能运行良好,但缩放到特定点不起作用。有没有其他方法可以修复它?我的融合表链接在这里

4

1 回答 1

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);
        }

工作示例

于 2013-04-29T14:05:23.290 回答