在Fusion Tables中搜索并缩放到结果

时间:2012-04-18 08:55:28

标签: google-maps-api-3 google-fusion-tables

大家好,我的情况是:http://www.tamrielma.ps/skyrim/

我添加了一个基于这个众所周知的例子的搜索:https://developers.google.com/fusiontables/docs/samples/autocomplete 但这还不够:D和我希望地图以搜索结果为基础进行缩放和中心(这是单个标记而不是一组,所以我认为这不是“绑定相关”解决方案)。

提前感谢任何建议

1 个答案:

答案 0 :(得分:2)

有趣的地图。 :-)我看到你已经在使用Google.visualization库进行autocompplete设置了。我认为可以使用相同的库(我相信使用FT JSONP API)通过回调来获取位置值,类似于你的getData()回调。 E.g。

function changeQuery(value) {
 value = value.replace("'", "\\'");
 layerMarkers.setQuery("SELECT Location FROM "+ fusione +" WHERE Name = '" + value + "'");

 // ADDED, using same query as above
  var queryText = encodeURIComponent( "SELECT Location FROM "+ fusione +" WHERE Name = '" + value + "'");
  var query = new google.visualization.Query('http://www.google.com/fusiontables/gvizdata?tq='  + queryText);
  query.send(getLocationData);

}
// location may need parsing into LatLng object
function getLocationData(response) {
    numRows = response.getDataTable().getNumberOfRows();
    if(numRows == 1){
          var loc_str = response.getDataTable().getValue(0, 0));
          var tmp = loc_str.split(" ");
          var lat = parseFloat(tmp[0]);
          var lng = parseFloat(tmp[1]);
          var zoom_level = 10;
          var location = new google.maps.LatLng(lat,lng);
          map.setCenter(location);
          map.setZoom(zoom_level);
    }

}