【问题标题】:SnazzyInfoWindow doesn't show on mapSnazzyInfoWindow 不显示在地图上
【发布时间】:2018-12-19 05:50:50
【问题描述】:

请帮助我理解。通过单击标记,信息窗口不会出现在地图上。我用谷歌地图,SnazzyInfoWindow完全自定义弹窗

 function initialize() {

  var options = {
      zoom: 13,
      center: new google.maps.LatLng(38.885765, -77.047563),
      mapTypeId: google.maps.MapTypeId.ROADMAP,
      scrollwheel: false,
      mapTypeControl: false,
      streetViewControl: false,
      zoomControl: true,
      zoomControlOptions: {
        position: google.maps.ControlPosition.RIGHT_BOTTOM
      }
    };

  map = new google.maps.Map(document.getElementById('map'), options);

  var info = new SnazzyInfoWindow({
    marker: marker,
    content: 'content',
  });

  var marker = new google.maps.Marker({
    position: new google.maps.LatLng(38.885765, -77.047563), 
    map: map,
    icon: blueIcon
  });

  google.maps.event.addListener(marker, 'click', function() {
    info.open(map, marker);
  });
}

【问题讨论】:

    标签: jquery infowindow


    【解决方案1】:

    提供的示例有两个问题,创建信息窗口实例的那一刻,标记尚未初始化:

    var info = new SnazzyInfoWindow({
        marker: marker, //<-- marker is not yet initialized at this moment
        content: 'Some content goes here',
    });
    

    这基本上就是无法打开信息窗口的原因

    另外一个关注open函数,根据source code不接受任何参数,所以需要替换为:

    google.maps.event.addListener(marker, 'click', function () {
        info.open();
    });
    

    演示

    function initialize() {
    
        var options = {
            zoom: 13,
            center: new google.maps.LatLng(38.885765, -77.047563),
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            scrollwheel: false,
            mapTypeControl: false,
            streetViewControl: false,
            zoomControl: true,
            zoomControlOptions: {
                position: google.maps.ControlPosition.RIGHT_BOTTOM
            }
        };
    
        map = new google.maps.Map(document.getElementById('map'), options);
    
    
        
     
        var marker = new google.maps.Marker({
            position: new google.maps.LatLng(38.885765, -77.047563),
            map: map,
            //icon: blueIcon
        });
    
    
        var info = new SnazzyInfoWindow({
            marker: marker,
            content: 'Some content goes here',
        });
    
        
    
        google.maps.event.addListener(marker, 'click', function () {
            info.open();
        });
    }
    
    google.maps.event.addDomListener(window, 'load', initialize);
    #map{
        width: 640px;
        height: 480px;
      }
    <script src="https://maps.googleapis.com/maps/api/js?key="></script>
    <link rel="stylesheet" href="https://rawgit.com/atmist/snazzy-info-window/master/dist/snazzy-info-window.css">
    <script src="https://rawgit.com/atmist/snazzy-info-window/master/dist/snazzy-info-window.min.js"></script>
    
    <div id='map'></div>

    【讨论】:

    • 是的,我已经明白错误出在可见性领域。感谢您的帮助!)
    猜你喜欢
    • 1970-01-01
    • 2014-08-05
    • 1970-01-01
    • 1970-01-01
    • 2018-11-12
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 1970-01-01
    相关资源
    最近更新 更多