jquery - fancybox 2.0.6 中的谷歌地图 API v3

标签 jquery html google-maps-api-3 fancybox fancybox-2

您好,我在隐藏的 fancybox 中加载谷歌地图时遇到问题

enter image description here

我的例子:gidzior.net/fancyMap是基于这个线程写的stackoverflow.com/questions/10890948/jquery-fancybox-with-google-maps

我该怎么做才能解决这个问题??

这是我的代码:

<body style="padding: 20px;">
    <!--[if lt IE 7]><p class=chromeframe>Your browser is <em>ancient!</em> <a href="http://browsehappy.com/">Upgrade to a different browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">install Google Chrome Frame</a> to experience this site.</p><![endif]-->
    <header>
        <a id="inline" href="#inline1" >show map</a>
    </header>
    <div role="main">
        <div id="inline1" style="width:800px; height: 350px; display: none;">
            <div id="map_canvas" style="width: 100%; height: 100%"></div>
        </div>
    </div>


    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script>window.jQuery || document.write('<script src="js/libs/jquery-1.7.1.min.js"><\/script>')</script>

    <script src="js/plugins.js"></script>
    <script src="js/libs/jquery.fancybox.pack.js"></script>
    <script src="js/libs/jquery.mousewheel-3.0.6.pack.js"></script>
    <script src="js/script.js"></script>

    <script type="text/javascript">
    var map="";
    $(document).ready(function(){
     $("a#inline").fancybox({
      'hideOnContentClick': false, // so you can handle the map
      'overlayColor'      : '#ccffee',
      'overlayOpacity'    : 0.2,
      'autoDimensions': true, // the selector #mapcontainer HAS css width and height
      'onComplete': function(){
        google.maps.event.trigger(map, "resize");
      },
      'onCleanup': function() {
       var myContent = this.href;
       $(myContent).unwrap();
      } // fixes inline bug
     });
     // map
     map = new google.maps.Map(
      document.getElementById("map_canvas"), {
      zoom: 9,
      center: new google.maps.LatLng(49.261226,-123.113928),
      mapTypeId: google.maps.MapTypeId.TERRAIN
      }   
     );
    }); // ready
</script>
</body>

最佳答案

fancyBox V2不再有onComplete,现在叫做afterLoad

但是你最好使用 afterShow ,它会稍后触发。

http://fancyapps.com/fancybox/#docs

关于jquery - fancybox 2.0.6 中的谷歌地图 API v3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11371046/

相关文章:

JavaScript HTML Google Maps API 地理编码服务问题

jquery - 如何使用 jVectorMap 从 onRegionClick 回调内的 map 数组中获取州名称?

javascript - 填写输入字段时,标签仍然下降

javascript - 仅引用错误 : google is not defined, (mozilla)

javascript - 当页面在 Angular 刷新时转到上一个状态时,如何使用 $stateProvider 处理页面刷新?

javascript - 如何从 Javascript 创建 Bootstrap 弹出窗口?

java - 将数据从 Bean 传递到 jsf 页面上的 javascript。谷歌 API 说明

javascript - 在 JQuery/Javascript 中捕捉到网格的可拖动正方形/矩形

javascript - 根据水平滚动检查元素是否在视口(viewport)中

javascript - 使用 jQuery 切换 DOM 元素