2013-04-29 50 views
0

我有一個帶搜索框的樣本融合表格地圖圖層。我想用這個盒子在融合表中搜尋一個特定的位置並放大到那個點。在serach框中的自動完成工作正常,但對特定點的縮放不起作用。有沒有其他方法可以解決它?我的融合表link is here搜索和縮放融合表格地圖到特定點

+0

通過我的地圖代碼[這裏擺弄]的方式(http://jsfiddle.net/ppsSH/) – mpsbhat 2013-04-29 13:21:37

+0

可能的[搜索中的重複Fusion Tables和縮放到結果](http://stackoverflow.com/questions/10206033/search-infusion-tables-and-zoom-to-results) – geocodezip 2013-04-29 13:24:03

回答

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

working example

+0

我從我的代碼中刪除了geoxml3解析器並更新了[fiddle ](http://jsfiddle.net/ppsSH/1/)。但是我爲查詢兩列位置而苦苦掙扎。我可以得到一些示例代碼嗎? – mpsbhat 2013-04-29 14:19:40

+0

謝謝你的樣本......! – mpsbhat 2013-04-29 14:37:01