Включение / выключение слоя погоды в сочетании с другими настройками

Я попытался реализовать этот код (http://stackoverflow.com/questions/10318316/how-to-hide-or-display-a-google-maps-layer/) на своей странице, чтобы добавить погоду / облака на / с моей карты, но как-то это мешает моему текущему коду. Я попробовал два варианта, которые уже были представлены в приведенной выше ссылке, но, возможно, я сделал что-то не так, или это мешает выборам Fusion Tables, которые уже есть в моей карте?

Может ли кто-нибудь помочь мне с правильным фрагментом кода? Моя страница здесьhttp://www.strahlen.org/map/mapplusweather.htm. The (de)select buttons are already in the bottom right corner.

Заранее спасибо, Фрэнк

PS: хотя администратор удалил вашу публикацию, спасибо Александру Фарберу за вашу предыдущую помощь!

PS 2: у меня, конечно, слой погоды работает, см.http://www.strahlen.org/map/mapweather.htm, но я не могу включить / выключить его

* final edit * чтобы предотвратить гниение ссылок: я использовал код здесь, в моей «рабочей версии» сейчас - & gt;http://www.strahlen.org/map/

 Frank26 апр. 2012 г., 20:13
Я, безусловно, не программист. Я просто копирую / вставляю фрагменты кода, которые используют другие, а затем учусь, учусь, учусь. Итак, спасибо за ваш первоначальный ответ. Я постараюсь учиться и вернусь к вам, как только пойму немного больше. Ура! Фрэнк
 Frank27 апр. 2012 г., 20:03
Андрей, я сделал еще один шаг с твоей помощью. Спасибо, теперь я понимаю немного больше. Я изменил код так, чтобы я мог щелкнуть, чтобы запустить слой погоды и / или облаков. Увидетьstrahlen.org/map/mapplusweather.htm , Но как я могу снова отключить слой при отмене выбора? Ура! Фрэнк
 Andrew Leach26 апр. 2012 г., 17:59
У вас есть addDOMListener для большинства флажков, но я не вижу каких-либо действий, связанных с кликами для погодных флажков вmapplusweather, Я скучал по ним? Ничего не случится без них.

Ответы на вопрос(2)

но с другим уклоном. Следующий код - это используемая в настоящее время функция geeToggleLayer из файла fusion_maps_v3.js, на которую ссылается страница нашего картографического сервера. Я пытаюсь снять флажок, чтобы кто-то просто щелкнул метку слоя, чтобы переключить видимость.

    function geeToggleLayer(e, checkBoxId, channel, glmId, layerName) {
      try {
        var cb = document.getElementById(checkBoxId);
        var id = glmId + '-' + channel;

        // toggle layer visibility via clicking checkbox
        try {
          if (cb.checked) {
            geeMap.showFusionLayer(id);
          } else {
            geeMap.hideFusionLayer(id);
          }
        } catch (err2) {
          alert('Failed attempt to enable/disable layer: ' +
                layerName + '\n' + id + '\n' + err2);
        }
      } catch (err) {
        alert('Failed attempt to get checkbox for layer: ' +
              layerName + '\n' + err);
      }
      cancelEvent(e);
    }
Решение Вопроса

что вам просто нужно внести некоторые базовые изменения в ваш существующий код. Сначала добавьте в себя две новые переменныеinitialize() функция:

function initialize() {
    var tableId = 3167783;
    var cloudDisplayIsOn = false;
    var weatherDisplayIsOn = false;

Тогда в вашем существующемcloud click код слушателя, внесите следующие изменения:

google.maps.event.addDomListener(document.getElementById('cloud'),
    'click', function() {
        if ( cloudDisplayIsOn ) {
            cloudLayer.setMap( null );
            cloudDisplayIsOn = false;
        }
        else {              
            cloudLayer.setMap( map );
            cloudDisplayIsOn = true;
        }
    });

И, наконец, в вашем существующемweather click код слушателя, внесите очень похожие изменения:

google.maps.event.addDomListener(document.getElementById('weather'),
    'click', function() {
        if ( weatherDisplayIsOn ) {
            weatherLayer.setMap( null );
            weatherDisplayIsOn = false;
        }
        else {
            weatherLayer.setMap( map );
            weatherDisplayIsOn = true;
        }
    });

Теперь вам, возможно, придется сделать небольшую отладку, но я считаю, что это добавит код включения / выключения отображения дляcloudLayer иweatherLayer что тебе нужно.

 17 мая 2012 г., 15:59
Да, я только что проверил, и ты в порядке. Вам иногда нужно немного уменьшить масштаб, чтобы увидеть слой Cloud, но и WeatherLayer, и CloudLayer очень хорошо включаются / выключаются. И наслаждайтесь новым малышом!
 Frank17 мая 2012 г., 15:20
Yesssss, с вашей помощью это работает! Я думаю, что мы сделали это :) Между сменой подгузников :) Пришлось немного подправить свой код. Супер. Не могли бы вы проверить, работает ли он на вас? - & GT;strahlen.org/map/mapplusweathertest.htm
 03 мая 2012 г., 21:49
Wow- Поздравляю! Никакого пота и спешки - спасибо за внимание
 Frank17 мая 2012 г., 19:13
Спасибо;) Мы есть. Все супер здесь. Скажи: я еще не совсем знаком со stackoverflow. Нужно ли щелкать куда-нибудь, чтобы вознаградить вас за большую помощь
 Frank03 мая 2012 г., 21:44
Дорогой Шон, супер спасибо за твою помощь. Пожалуйста, дайте мне несколько недель, чтобы проверить это, так как я стал отцом прошлой ночью;) Я вернусь к вам, как только у меня будет сон / время / и т.д.;) Приветствия!

Ваш ответ на вопрос