Проблема с меню Javascript в Google Map API с использованием fusiontables

Прямо сейчас я создаю карту, которая будет иметь меню javascript, позволяющее пользователям переключаться на разные виды карты с помощью наложений таблиц Google Fusion. Я был бы очень признателен, если бы вы могли помочь мне с проблемой, которая мешает мне завершить проект.

Это моя HTML-страница Google Maps:

<html> 
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
<!DOCTYPE html>
<title>Met Sacramento Internship Map</title> 

<!-- Style --> 
<style> 
  body { font-family: Arial, sans-serif; }
  #map_canvas { height: 500px; width:600px; }
</style> 

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript"> 
    var tableid = 567682;
    var layer = new google.maps.FusionTablesLayer(567682); 

  function initialize() {
    var latlng = new google.maps.LatLng(37.5213829, -122.172534);
    var myOptions = {
      zoom: 8,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("map_canvas"),
        myOptions);
          layer.setMap(map);
  }
  //Change the query based on the user's selection
function changeMap(delivery) {
  layer.setQuery("SELECT Address FROM " + tableid + " WHERE delivery LIKE '" + delivery + "'");
}
</script>

 </script> 

</head> 
<body onload="initialize();">  
  Internship Status <select onchange="changeMap(this.value);"> 
    <option value="%">--Select--</option>
  <option value="ANIMALS">Animals</option>
  <option value="BUSINESS">Business</option>
  </select> <div id="map_canvas"></div>
</body> 
</html>

Моя проблема возникает, когда я добавляю этот код:

  //Change the query based on the user's selection
function changeMap(animals) {
  layer.setQuery("SELECT Address FROM " + tableid + " WHERE Animals LIKE '" + Animals + "'");

Буду очень признателен за любую помощь, я новичок в таблицах слияния, API Карт Google и Javascript.


person Noah    schedule 18.03.2011    source источник
comment
Интересно, почему ваш тип документа находится под тегом title...   -  person tcooc    schedule 18.03.2011
comment
Не думаю, что это связано с моим вопросом.   -  person Noah    schedule 18.03.2011


Ответы (3)


Глядя на таблицу 567682, я не вижу столбца с именем «Животные». Убедитесь, что ваша таблица содержит столбец с именем «Животные» со значениями «ЖИВОТНЫЕ» и «БИЗНЕС», поскольку ваше предложение WHERE фильтрует этот столбец.

person Kathryn Hurley    schedule 18.03.2011
comment
Даже если я изменю их на свое табличное значение, это не сработает. Например, если я изменю его на область интересов или адрес, он не загрузится. Любые другие предложения? - person Noah; 20.03.2011

Переменная Animals написана неправильно. В заголовке функции вы пишете это с помощью нижнего регистра «животные», тогда как в запросе вы ссылаетесь на верхний регистр «животные»...

person omaass    schedule 05.04.2011

Похоже, что эта таблица Fusion плохо работает с оператором LIKE SQL, хотя гугл говорит, что поддерживается

Я заработал, изменив запрос, чтобы использовать CONTAINS и значения параметров, подобные этому:

layer.setQuery("SELECT Address, 'Interest Area' FROM " + tableid + " WHERE 'Interest Area' CONTAINS '" + delivery + "'"); 

<option value="Animals">Animals</option>
<option value="Business">Business</option>
person DetectiveEric    schedule 16.05.2011