Карты Google устанавливают ноль по умолчанию при открытии маркеров - PullRequest
0 голосов
/ 09 декабря 2018

есть ли способ создать «установить карту (ноль)» по умолчанию при открытии карты?Я имею в виду, когда я впервые открываю веб-страницу, все данные на карте не отображаются.

я вызываю данные, используя базу данных, и загружаю данные геоджон из своего хранилища

<?php foreach ($map_link->result_array() as $i) : ?>
  var <?= $i['maplink_var']; ?> = new google.maps.Data({map: map});
  <?= $i['maplink_var']; ?>.loadGeoJson('<?= base_url().'/asset/mapgeojson/geojson/'.$i['maplink_url']; ?>');
<?php endforeach; ?>


<?php foreach ($map_link->result_array() as $i) : ?>
  $('#<?= $i['maplink_var'];?>').click(function(){
    <?= $i['maplink_var'];?>.setMap($(this).is(':checked') ? map : null);
  });
<?php endforeach; ?>

, и это мой JavaScriptдля кнопки включения и отображения скрытия карты

$('#jalan_nasional,#jalan_provinsi,#air_bersih,#bendung,#jembatan,#sanitasi,#pelabuhan,#terminal,#stasiun,#bandara,#sungai,#sungaipol,#tol').removeAttr('disabled');

    $('#all').click(function(){
      <?php foreach ($map_link->result_array() as $i) : ?>
        <?= $i['maplink_var']; ?>.setMap($(this).is(':checked') ? map : null);
        tol.setMap($(this).is(':checked') ? map : null);
      <?php endforeach; ?>
    });

    $(document).ready(function() {
      $('#all').click(function() {
        var checked = $(this).prop('checked');
        $('#checkboxes').find('input:checkbox').prop('checked', checked);
      });
    })

, и это моя кнопка для включения данных

    <div class="panel panel-default">
      <div class="panel-heading">
        All
        <div class="material-switch pull-right">
          <input id="all" name="someSwitchOption001" type="checkbox" checked="checked"/>
          <label for="all" class="label-success"></label>
        </div>
      </div>
      <div id="checkboxes">

        <ul class="list-group">

          <li class="list-group-item">
            Jalan Nasional
            <div class="material-switch pull-right">
              <input id="jalan_nasional" name="someSwitchOption001" type="checkbox" checked="checked"/>
              <label for="jalan_nasional" class="label-success"></label>
            </div>
          </li>
          <li class="list-group-item">
            Jalan Provinsi
            <div class="material-switch pull-right">
              <input id="jalan_provinsi" name="someSwitchOption001" type="checkbox" checked="checked"/>
              <label for="jalan_provinsi" class="label-success"></label>
            </div>
          </li>
          <li class="list-group-item">
            Air
            <div class="material-switch pull-right">
              <input id="air_bersih" name="someSwitchOption001" type="checkbox" checked="checked"/>
              <label for="air_bersih" class="label-success"></label>
            </div>
          </li>

в моем коде нет ничего плохого.сначала, когда я открываю веб-страницу, все данные называются all, так что экран по умолчанию заполнен данными маркера.и кнопка функции, чтобы скрыть и отобразить маркер.Что касается текущей проблемы, я хочу, чтобы данные карты по умолчанию не отображались при первом открытии веб-страницы и отключении всех кнопок.

Может быть, кто-то может мне помочь?

1 Ответ

0 голосов
/ 09 декабря 2018

Затем в вашем начальном назначении установите нулевое значение для каждого маркера (вместо действительного значения карты)

    <?php foreach ($map_link->result_array() as $i) : ?>
      $('#<?= $i['maplink_var'];?>').click(function(){
        <?= $i['maplink_var'];?>.setMap( null);
      });
    <?php endforeach; ?>
...