融合表 - 平移和缩放'数据仍然加载“错误

时间:2014-04-17 23:58:24

标签: google-fusion-tables

我一直在尝试学习如何根据查询返回进行地图平移和缩放。我主要使用它,除了每次地图放大时我都会收到“数据可能仍在加载”错误。地图会缩放到正确的位置。

我知道我必须在某处遇到语法错误,但对于Fusion Tables来说这么新,我找不到它。

任何帮助将不胜感激:

CODE

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Assembly Map</title>
        <style>
  #map_canvas { width: 610px; height: 400px; }
        </style>

<!--Load the AJAX API-->
<script type="text/javascript" src="http://www.google.com/jsapi"></script>         <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="http://geoxml3.googlecode.com/svn/branches/polys/geoxml3.js"></script>
        <script type="text/javascript">
  google.load('visualization', '1', {'packages':['corechart', 'table', 'geomap']});
var map;

var layer;
var tableid =  '16DRI3M2060Ui9S__E9uajhWrLznEJPjUpvqpfudc';
var layer2;
var tableid2 = '16DRI3M2060Ui9S__E9uajhWrLznEJPjUpvqpfudc';


function initialize() {
    geocoder = new google.maps.Geocoder();
    map = new google.maps.Map(document.getElementById('map_canvas'), {
    center: new google.maps.LatLng(49.99775728108552, -88.70237663424376),
    zoom: 4,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  });

 layer = new google.maps.FusionTablesLayer(tableid);
  layer.setQuery("SELECT 'geometry' FROM " + tableid);
  layer.setMap(map);

 layer2 = new google.maps.FusionTablesLayer(tableid2);
  layer2.setQuery("SELECT 'geometry' FROM " + tableid2 + " WHERE Riding");
 layer2.setMap(map);

}

function codeAddress() {
    var address = document.getElementById("address").value;
    geocoder.geocode( { 'address': address}, function(results, status) {
      if (status == google.maps.GeocoderStatus.OK) {
        map.setCenter(results[0].geometry.location);
        var marker = new google.maps.Marker({
            map: map, 
            position: results[0].geometry.location
        });
      } else {
        alert("Geocode was not successful for the following reason: " + status);
      }
    });
  }

{
    function changeMap() {
  var searchString = document.getElementById('searchString').value.replace("'", "\\'");
  if(searchString == "") {
    var query="SELECT 'geometry' FROM " + tableid;
  } else {
    var query="SELECT 'geometry' FROM " + tableid + " WHERE 'Riding' = '" + searchString + "'";
  }
  layer.setQuery(query);
  zoom2query(query);
  }
}

function zoom2query(query) {
// zoom and center map on query results
  //set the query using the parameter
  var queryText = encodeURIComponent(query);
  var query = new google.visualization.Query('http://www.google.com/fusiontables/gvizdata?tq='  + queryText);


  //set the callback function
  query.send(zoomTo);

}
function zoomTo(response) {
if (!response) {
  alert('no response');
  return;
}
if (response.isError()) {
  alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
  return;
} 
  FTresponse = response;
  //for more information on the response object, see the documentation
  //http://code.google.com/apis/visualization/documentation/reference.html#QueryResponse
  numRows = response.getDataTable().getNumberOfRows();
  numCols = response.getDataTable().getNumberOfColumns();

     var kml =  FTresponse.getDataTable().getValue(0,0);
     // create a geoXml3 parser for the click handlers
     var geoXml = new geoXML3.parser({
                    map: map,
            zoom: false
                });

     geoXml.parseKmlString("<Placemark>"+kml+"</Placemark>");
     geoXml.docs[0].gpolygons[0].setMap(null);
     map.fitBounds(geoXml.docs[0].gpolygons[0].bounds);


/*
  var bounds = new google.maps.LatLngBounds();
  for(i = 0; i < numRows; i++) {
      var point = new google.maps.LatLng(
          parseFloat(response.getDataTable().getValue(i, 0)),
          parseFloat(response.getDataTable().getValue(i, 1)));
      bounds.extend(point);
  }
  // zoom to the bounds
  map.fitBounds(bounds);
*/
}



        </script>
          <body onload="initialize();">

          <div id="map-canvas"></div>
    <div style="margin-top: 10px;">
      <label><span class="style58">Select Riding</span> </label>
  <select id="searchString" onChange="changeMap(this.value);">
    <option value="">--Ridings--</option>
          <option value="--Select--">--Select--</option>
          <option value="AJAX--PICKERING">AJAX--PICKERING</option>
          <option value="ALGOMA--MANITOULIN">ALGOMA--MANITOULIN</option>
          <option value="ANCASTER--DUNDAS--FLAMBOROUGH--WESTDALE">ANCASTER--DUNDAS--FLAMBOROUGH--WESTDALE</option>
          <option value="BARRIE">BARRIE</option>
          <option value="BEACHES--EAST YORK">BEACHES--EAST YORK</option>
          <option value="BRAMALEA--GORE--MALTON">BRAMALEA--GORE--MALTON</option>
          <option value="BRAMPTON WEST">BRAMPTON WEST</option>
          <option value="BRAMPTON--SPRINGDALE">BRAMPTON--SPRINGDALE</option>
          <option value="BRANT">BRANT</option>
          <option value="BRUCE--GREY--OWEN SOUND">BRUCE--GREY--OWEN SOUND</option>
          <option value="BURLINGTON">BURLINGTON</option>
          <option value="CAMBRIDGE">CAMBRIDGE</option>
          <option value="CARLETON--MISSISSIPPI MILLS">CARLETON--MISSISSIPPI MILLS</option>
          <option value="CHATHAM--KENT--ESSEX">CHATHAM--KENT--ESSEX</option>
          <option value="DAVENPORT">DAVENPORT</option>
          <option value="DON VALLEY EAST">DON VALLEY EAST</option>
          <option value="DON VALLEY WEST">DON VALLEY WEST</option>
          <option value="DUFFERIN--CALEDON">DUFFERIN--CALEDON</option>
          <option value="DURHAM">DURHAM</option>
          <option value="EGLINTON--LAWRENCE">EGLINTON--LAWRENCE</option>
          <option value="ELGIN--MIDDLESEX--LONDON">ELGIN--MIDDLESEX--LONDON</option>
          <option value="ESSEX">ESSEX</option>
          <option value="ETOBICOKE CENTRE">ETOBICOKE CENTRE</option>
          <option value="ETOBICOKE NORTH">ETOBICOKE NORTH</option>
          <option value="ETOBICOKE--LAKESHORE">ETOBICOKE--LAKESHORE</option>
          <option value="GLENGARRY--PRESCOTT--RUSSELL">GLENGARRY--PRESCOTT--RUSSELL</option>
          <option value="GUELPH">GUELPH</option>
          <option value="HALDIMAND--NORFOLK">HALDIMAND--NORFOLK</option>
          <option value="HALIBURTON--KAWARTHA LAKES--BROCK">HALIBURTON--KAWARTHA LAKES--BROCK</option>
          <option value="HALTON">HALTON</option>
          <option value="HAMILTON CENTRE">HAMILTON CENTRE</option>
          <option value="HAMILTON EAST--STONEY CREEK">HAMILTON EAST--STONEY CREEK</option>
          <option value="HAMILTON MOUNTAIN">HAMILTON MOUNTAIN</option>
          <option value="HURON--BRUCE">HURON--BRUCE</option>
          <option value="KENORA--RAINY RIVER">KENORA--RAINY RIVER</option>
          <option value="KINGSTON AND THE ISLANDS">KINGSTON AND THE ISLANDS</option>
          <option value="KITCHENER CENTRE">KITCHENER CENTRE</option>
          <option value="KITCHENER--CONESTOGA">KITCHENER--CONESTOGA</option>
          <option value="KITCHENER--WATERLOO">KITCHENER--WATERLOO</option>
          <option value="LAMBTON--KENT--MIDDLESEX">LAMBTON--KENT--MIDDLESEX</option>
          <option value="LANARK--FRONTENAC--LENNOX AND ADDINGTON">LANARK--FRONTENAC--LENNOX AND ADDINGTON</option>
          <option value="LEEDS--GRENVILLE">LEEDS--GRENVILLE</option>
          <option value="LONDON NORTH CENTRE">LONDON NORTH CENTRE</option>
          <option value="LONDON WEST">LONDON WEST</option>
          <option value="LONDON--FANSHAWE">LONDON--FANSHAWE</option>
          <option value="MARKHAM--UNIONVILLE">MARKHAM--UNIONVILLE</option>
          <option value="MISSISSAUGA EAST--COOKSVILLE">MISSISSAUGA EAST--COOKSVILLE</option>
          <option value="MISSISSAUGA SOUTH">MISSISSAUGA SOUTH</option>
          <option value="MISSISSAUGA--BRAMPTON SOUTH">MISSISSAUGA--BRAMPTON SOUTH</option>
          <option value="MISSISSAUGA--ERINDALE">MISSISSAUGA--ERINDALE</option>
          <option value="MISSISSAUGA--STREETSVILLE">MISSISSAUGA--STREETSVILLE</option>
          <option value="NEPEAN--CARLETON">NEPEAN--CARLETON</option>
          <option value="NEWMARKET--AURORA">NEWMARKET--AURORA</option>
          <option value="NIAGARA FALLS">NIAGARA FALLS</option>
          <option value="NIAGARA WEST--GLANBROOK">NIAGARA WEST--GLANBROOK</option>
          <option value="NICKEL BELT">NICKEL BELT</option>
          <option value="NIPISSING">NIPISSING</option>
          <option value="NORTHUMBERLAND--QUINTE WEST">NORTHUMBERLAND--QUINTE WEST</option>
          <option value="OAK RIDGES--MARKHAM">OAK RIDGES--MARKHAM</option>
          <option value="OAKVILLE">OAKVILLE</option>
          <option value="OSHAWA">OSHAWA</option>
          <option value="OTTAWA CENTRE">OTTAWA CENTRE</option>
          <option value="OTTAWA SOUTH">OTTAWA SOUTH</option>
          <option value="OTTAWA WEST--NEPEAN">OTTAWA WEST--NEPEAN</option>
          <option value="OTTAWA--ORLEANS">OTTAWA--ORLEANS</option>
          <option value="OTTAWA--VANIER">OTTAWA--VANIER</option>
          <option value="OXFORD">OXFORD</option>
          <option value="PARKDALE--HIGH PARK">PARKDALE--HIGH PARK</option>
          <option value="PARRY SOUND--MUSKOKA">PARRY SOUND--MUSKOKA</option>
          <option value="PERTH--WELLINGTON">PERTH--WELLINGTON</option>
          <option value="PETERBOROUGH">PETERBOROUGH</option>
          <option value="PICKERING--SCARBOROUGH EAST">PICKERING--SCARBOROUGH EAST</option>
          <option value="PRINCE EDWARD--HASTINGS">PRINCE EDWARD--HASTINGS</option>
          <option value="RENFREW--NIPISSING--PEMBROKE">RENFREW--NIPISSING--PEMBROKE</option>
          <option value="RICHMOND HILL">RICHMOND HILL</option>
          <option value="SARNIA--LAMBTON">SARNIA--LAMBTON</option>
          <option value="SAULT STE. MARIE">SAULT STE. MARIE</option>
          <option value="SCARBOROUGH CENTRE">SCARBOROUGH CENTRE</option>
          <option value="SCARBOROUGH SOUTHWEST">SCARBOROUGH SOUTHWEST</option>
          <option value="SCARBOROUGH--AGINCOURT">SCARBOROUGH--AGINCOURT</option>
          <option value="SCARBOROUGH--GUILDWOOD">SCARBOROUGH--GUILDWOOD</option>
          <option value="SCARBOROUGH--ROUGE RIVER">SCARBOROUGH--ROUGE RIVER</option>
          <option value="SIMCOE NORTH">SIMCOE NORTH</option>
          <option value="SIMCOE--GREY">SIMCOE--GREY</option>
          <option value="ST. CATHARINES">ST. CATHARINES</option>
          <option value="ST. PAUL'S">ST. PAUL'S</option>
          <option value="STORMONT--DUNDAS--SOUTH GLENGARRY">STORMONT--DUNDAS--SOUTH GLENGARRY</option>
          <option value="SUDBURY">SUDBURY</option>
          <option value="THORNHILL">THORNHILL</option>
          <option value="THUNDER BAY--ATIKOKAN">THUNDER BAY--ATIKOKAN</option>
          <option value="THUNDER BAY--SUPERIOR NORTH">THUNDER BAY--SUPERIOR NORTH</option>
          <option value="TIMISKAMING--COCHRANE">TIMISKAMING--COCHRANE</option>
          <option value="TIMMINS--JAMES BAY">TIMMINS--JAMES BAY</option>
          <option value="TORONTO CENTRE">TORONTO CENTRE</option>
          <option value="TORONTO--DANFORTH">TORONTO--DANFORTH</option>
          <option value="TRINITY--SPADINA">TRINITY--SPADINA</option>
          <option value="VAUGHAN">VAUGHAN</option>
          <option value="WELLAND">WELLAND</option>
          <option value="WELLINGTON--HALTON HILLS">WELLINGTON--HALTON HILLS</option>
          <option value="WHITBY--OSHAWA">WHITBY--OSHAWA</option>
          <option value="WILLOWDALE">WILLOWDALE</option>
          <option value="WINDSOR WEST">WINDSOR WEST</option>
          <option value="WINDSOR--TECUMSEH">WINDSOR--TECUMSEH</option>
          <option value="YORK CENTRE">YORK CENTRE</option>
          <option value="YORK SOUTH--WESTON">YORK SOUTH--WESTON</option>
          <option value="YORK WEST ">YORK WEST </option>
          <option value="YORK--SIMCOE">YORK--SIMCOE</option>
        </select>
      </label> 
    </div>

<br>

<div id="map_canvas"></div>
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> 
</script> 
<script type="text/javascript"> 
_uacct = "UA-162157-1";
urchinTracker();
</script>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

这解决了问题:

function initialize() {
    geocoder = new google.maps.Geocoder();
    map = new google.maps.Map(document.getElementById('map_canvas'), {
    center: new google.maps.LatLng(49.99775728108552, -88.70237663424376),
    zoom: 4,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  });

 layer = new google.maps.FusionTablesLayer(tableid);
  layer.setQuery("SELECT 'geometry' FROM " + tableid);
  // layer.setMap(map);

 layer2 = new google.maps.FusionTablesLayer(tableid2);
  layer2.setQuery("SELECT 'geometry' FROM " + tableid2 + " WHERE Riding");
 layer2.setMap(map);

}