jquery - How to make the checkboxes in this map checked on page load? -


here demo jsfiddle

as can see that, checkboxed on google map not checked. make them checked on page load , show markers.

here code

    var map; var var_location = new google.maps.latlng(45.430817, 12.331516);  function map_init() {      var var_mapoptions = {         center: {lat:45,lng:-23},         zoom: 2,         maptypeid: google.maps.maptypeid.roadmap,         pancontrol: false,         rotatecontrol: false,         streetviewcontrol: false,         scrollwheel: false,     };     map = new google.maps.map(document.getelementbyid("map"),     var_mapoptions);     var contentstring =         '<div id="mapinfo">' +         '<p><strong>peggy guggenheim collection</strong><br>' +         'dorsoduro, 701-704<br>' +         '30123, venezia<br>' +         'p: (+39) 041 240 5411</p>' +         '</div>';      var var_infowindow = new google.maps.infowindow({         content: contentstring     });     var var_marker = new google.maps.marker({         position: var_location,         map: map,         icon: 'http://maps.google.com/mapfiles/ms/icons/blue.png',         title: "click information guggenheim museum in venice",         maxwidth: 200,         maxheight: 200     });      google.maps.event.addlistener(var_marker, 'click', function () {         var_infowindow.open(map, var_marker);     }); //use buttons-div map-control  map.controls[google.maps.controlposition.top_right].push(ctrl[0]);  }  var places = {     restaurant: {         label: 'restaurants',         //the category may default-checked when want         //uncomment next line         //checked:true,         icon: 'https://maps.gstatic.com/intl/en_us/mapfiles/markers2/measle_blue.png',         items: [             ['melt bar , grill', 41.485345, -81.799047],             ['sloane pub', 41.486182, -81.824178],             ['spitfire salon', 41.479670, -81.768430],             ['mahall\'s', 41.476989, -81.781094],             ['szechwan garden', 41.485615, -81.787890]         ]     },     park: {         label: 'parks',         //the category may default-checked when want         //uncomment next line         //checked:true,         icon: 'https://maps.gstatic.com/intl/en_us/mapfiles/markers2/measle.png',         items: [             ['lakewood park', 41.494457, -81.797605],             ['madison park', 41.476969, -81.781929],             ['tuland park', 41.464052, -81.788041]         ]     } },  infowindow = new google.maps.infowindow(),  //  div place buttons ctrl = $('<div/>').css({     background: '#fff',     border: '1px solid #000',     padding: '4px',     margin: '2px',     textalign: 'center' }); //show all-button ctrl.append($('<input>', {     type: 'button',     value: 'show all' })     .click(function () {     $(this).parent().find('input[type="checkbox"]')         .prop('checked', true).trigger('change'); })); ctrl.append($('<br/>'));  //clear all-button ctrl.append($('<input>', {     type: 'button',     value: 'clear all' })     .click(function () {     $(this).parent().find('input[type="checkbox"]')         .prop('checked', false).trigger('change'); })); ctrl.append($('<hr/>'));  //now loop on categories $.each(places, function (c, category) {  //a checkbox fo category var cat = $('<input>', {     type: 'checkbox' }).change(function () {     $(this).data('goo').set('map', (this.checked) ? map : null); }) //create data-property google.maps.mvcobject //this mvc-object show/hide category  .data('goo', new google.maps.mvcobject)     .prop('checked', !! category.checked)  //this initialize map-property of mvcobject .trigger('change')  //label checkbox .appendto($('<div/>').css({     whitespace: 'nowrap',     textalign: 'left' })     .appendto(ctrl))     .after(category.label);      //loop on items(markers)     $.each(category.items, function (m, item) {         var marker = new google.maps.marker({             position: new google.maps.latlng(item[1], item[2]),             title: item[0],             icon: category.icon         });          //bind map-property of marker map-property         //of mvcobject has been stored checkbox-data          marker.bindto('map', cat.data('goo'), 'map');         google.maps.event.addlistener(marker, 'click', function () {             infowindow.setcontent(item[0]);             infowindow.open(map, this);         });     }); });  google.maps.event.adddomlistener(window, 'load', map_init); 

i tried put

.prop('checked', ture) 

instead of

.prop('checked', !! category.checked) 

but not work.

thanks in advance help

create "show all"-button @ end, may trigger click on button:

function map_init() {        var var_mapoptions = {          center: new google.maps.latlng(41.478189, -81.798588),          zoom: 13,          maptypeid: google.maps.maptypeid.roadmap,          pancontrol: false,          rotatecontrol: false,          streetviewcontrol: false      };      map = new google.maps.map(document.getelementbyid("map"),      var_mapoptions);      var contentstring =          '<div id="mapinfo">' +          '<p><strong>peggy guggenheim collection</strong><br>' +          'dorsoduro, 701-704<br>' +          '30123, venezia<br>' +          'p: (+39) 041 240 5411</p>' +          '</div>';        var var_infowindow = new google.maps.infowindow({          content: contentstring      });      var var_marker = new google.maps.marker({          position: new google.maps.latlng(45.430817, 12.331516),          map: map,          icon: 'http://maps.google.com/mapfiles/ms/icons/blue.png',          title: "click information guggenheim museum in venice",          maxwidth: 200,          maxheight: 200      });        google.maps.event.addlistener(var_marker, 'click', function () {          var_infowindow.open(map, var_marker);      });      //  div place buttons      ctrl = $('<div/>').css({          background: '#fff',          border: '1px solid #000',          padding: '4px',          margin: '2px',          textalign: 'center'      })[0];  map.controls[google.maps.controlposition.right_bottom].push(ctrl);  ctrl=$(ctrl);        var places = {      restaurant: {          label: 'restaurants',          //the category may default-checked when want          //uncomment next line          //checked:true,          icon: 'https://maps.gstatic.com/intl/en_us/mapfiles/markers2/measle_blue.png',          items: [              ['melt bar , grill', 41.485345, -81.799047],              ['sloane pub', 41.486182, -81.824178],              ['spitfire salon', 41.479670, -81.768430],              ['mahall\'s', 41.476989, -81.781094],              ['szechwan garden', 41.485615, -81.787890]          ]      },      park: {          label: 'parks',          //the category may default-checked when want          //uncomment next line          //checked:true,          icon: 'https://maps.gstatic.com/intl/en_us/mapfiles/markers2/measle.png',          items: [              ['lakewood park', 41.494457, -81.797605],              ['madison park', 41.476969, -81.781929],              ['tuland park', 41.464052, -81.788041]          ]      }  },    infowindow = new google.maps.infowindow();        //clear all-button  ctrl.append($('<input>', {      type: 'button',      value: 'clear all'  })      .click(function () {      $(this).parent().find('input[type="checkbox"]')          .prop('checked', false).trigger('change');  }));  ctrl.append($('<hr/>'));    //now loop on categories  $.each(places, function (c, category) {        //a checkbox fo category      var cat = $('<input>', {          type: 'checkbox'      }).change(function () {          $(this).data('goo').set('map', (this.checked) ? map : null);      })      //create data-property google.maps.mvcobject      //this mvc-object show/hide category       .data('goo', new google.maps.mvcobject)          .prop('checked', !! category.checked)        //this initialize map-property of mvcobject      .trigger('change')        //label checkbox      .appendto($('<div/>').css({          whitespace: 'nowrap',          textalign: 'left'      })          .appendto(ctrl))          .after(category.label);              //loop on items(markers)      $.each(category.items, function (m, item) {          var marker = new google.maps.marker({              position: new google.maps.latlng(item[1], item[2]),              title: item[0],              icon: category.icon          });            //bind map-property of marker map-property          //of mvcobject has been stored checkbox-data           marker.bindto('map', cat.data('goo'), 'map');          google.maps.event.addlistener(marker, 'click', function () {              infowindow.setcontent(item[0]);              infowindow.open(map, this);          });      });      });      //show all-button  ctrl.prepend($('<br/>'));  $('<input>', {      type: 'button',      value: 'show all'  })      .click(function () {                $(this).parent().find('input[type="checkbox"]')          .prop('checked', true).trigger('change');  }).prependto(ctrl).click();   }  google.maps.event.adddomlistener(window, 'load', map_init);
html, body, #map {      height: 100%;      width: 100%;      margin: 0px;      padding: 0px  }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>  <script src="https://maps.googleapis.com/maps/api/js?v=3"></script>  <div id="map" ></div>


Comments