【问题标题】:setVisible on google map markers谷歌地图标记上的 setVisible
【发布时间】:2016-04-18 15:13:50
【问题描述】:

所以我用 initialize() 函数制作了谷歌地图,我希望它用 addMarker() 函数绘制标记,但是将它们设置为不可见,这样我以后可以让它们可见。 但是,如果我在新的 google.maps.Marker() 中设置 setVisible:false,它会同时显示它们,如果我将其设置为 true,它只会显示其中一个。如何?

这是我的代码:

    <!DOCTYPE html>
    <html>
      <head>
    <script src="http://maps.googleapis.com/maps/api/js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
    //varijable
    var restorani = [
        ['restoran 1',45.158457,18.0158902,'Prvi'],
        ['restoran 2',45.159457,18.0158902,'Drugi']
    ];

    var myCenter=new google.maps.LatLng(45.159457,18.0158902);
    var map;
    var i;
//initialize
    function initialize() {
      var mapProp = {
        center:new google.maps.LatLng(45.159457,18.0158902),
        zoom:13,
        mapTypeId:google.maps.MapTypeId.ROADMAP
      };
      map=new google.maps.Map(document.getElementById("map"),mapProp); 
    for(i=0;i<2;i++){
    addMarker(restorani[i]);

     }

  } 

google.maps.event.addDomListener(window, 'load', initialize);
//adding markers    
    function addMarker(marker) {
    var category = marker[0];
    var titl= marker[3];
    var pos = new google.maps.LatLng(marker[1], marker[2]); 
    var marker = new google.maps.Marker({
        position: pos,
        category: category,
        map: map,
        title: titl,
        setVisible:false //!!!!!!!!!!!!!!!!!!

    });
}   



    </script>
    </head>
<style>
          #map {
                width: 700px;
                height: 400px;
                float:right;
                border:2px solid black;
          }
    </style>
     </head>

      <body>
      <div id="map"></div>
      </body>
    </html>

【问题讨论】:

    标签: javascript google-maps google-maps-api-3 google-maps-markers


    【解决方案1】:

    property namevisible,而不是 setVisible

    function addMarker(marker) {
      var category = marker[0];
      var titl= marker[3];
      var pos = new google.maps.LatLng(marker[1], marker[2]); 
      var marker = new google.maps.Marker({
        position: pos,
        category: category,
        map: map,
        title: titl,
        visible:false
    });
    

    代码 sn-p:

    //varijable
    var restorani = [
      ['restoran 1', 45.158457, 18.0158902, 'Prvi'],
      ['restoran 2', 45.159457, 18.0158902, 'Drugi']
    ];
    
    var myCenter = new google.maps.LatLng(45.159457, 18.0158902);
    var map;
    var i;
    //initialize
    function initialize() {
      var mapProp = {
        center: new google.maps.LatLng(45.159457, 18.0158902),
        zoom: 13,
        mapTypeId: google.maps.MapTypeId.ROADMAP
      };
      map = new google.maps.Map(document.getElementById("map"), mapProp);
      for (i = 0; i < 2; i++) {
        addMarker(restorani[i]);
    
      }
    }
    
    google.maps.event.addDomListener(window, 'load', initialize);
    //adding markers    
    function addMarker(marker) {
      var category = marker[0];
      var titl = marker[3];
      var pos = new google.maps.LatLng(marker[1], marker[2]);
      var marker = new google.maps.Marker({
        position: pos,
        category: category,
        map: map,
        title: titl,
        visible: false
    
      });
    }
    google.maps.event.addDomListener(window, "load", initialize);
    #map {
      width: 700px;
      height: 400px;
      float: right;
      border: 2px solid black;
    }
    <script src="https://maps.googleapis.com/maps/api/js?libraries=geometry"></script>
    <div id="map"></div>

    【讨论】:

      猜你喜欢
      • 2012-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-11
      • 1970-01-01
      相关资源
      最近更新 更多