Javascript 使用API V3的谷歌地图主要故障

Javascript 使用API V3的谷歌地图主要故障,javascript,jquery,ajax,google-maps,google-maps-api-3,Javascript,Jquery,Ajax,Google Maps,Google Maps Api 3,编辑:这个问题现在已经解决了,请参见下面我的答案 情况: 用户单击地图图像 谷歌地图API V3是通过 阿贾克斯 地图显示在对话框窗口中 /灯箱 发生了什么: 地图显示,所有功能正常,但地图左上角的“正方形”出现故障 我卡住了 编辑:现在使用代码: <div id="map_canvas"></div> <script type="text/javascript"> $(function() { var

编辑:这个问题现在已经解决了,请参见下面我的答案


情况:

  • 用户单击地图图像
  • 谷歌地图API V3是通过 阿贾克斯
  • 地图显示在对话框窗口中 /灯箱
  • 发生了什么:

    地图显示,所有功能正常,但地图左上角的“正方形”出现故障

    我卡住了


    编辑:现在使用代码:

    <div id="map_canvas"></div>
    <script type="text/javascript">
        $(function() {          
                var latlng = new google.maps.LatLng(51.448359,-2.590559);
                var options = {
                  zoom: 13,
                  center: latlng,
                  mapTypeControl: false,
                  mapTypeId: google.maps.MapTypeId.ROADMAP
                }; 
    
                var map = new google.maps.Map(document.getElementById('map_canvas'), options);
    
                var marker = new google.maps.Marker({
                  position: new google.maps.LatLng(51.448359,-2.590559),
                  map: map
                });
        })
    </script>
    
    
    $(函数(){
    var latlng=新的google.maps.latlng(51.448359,-2.590559);
    变量选项={
    缩放:13,
    中心:拉特林,
    mapTypeControl:false,
    mapTypeId:google.maps.mapTypeId.ROADMAP
    }; 
    var map=new google.maps.map(document.getElementById('map_canvas'),选项);
    var marker=new google.maps.marker({
    位置:新google.maps.LatLng(51.448359,-2.590559),
    地图:地图
    });
    })
    
    我认为问题在于贴图在调整大小动画完成之前初始化,因此它认为它更小

    尝试在加载效果完成后调整其大小:

    google.maps.event.trigger(map, 'resize');
    

    (您必须保留对“贴图”对象的引用,我认为问题在于贴图在调整大小动画完成之前初始化,因此它认为它更小

    尝试在加载效果完成后调整其大小:

    google.maps.event.trigger(map, 'resize');
    

    (你必须保留对“地图”对象的引用,感谢阿尔方索为我指出了正确的方向

    问题在于map div的维度,尽管
    #map_canvas
    在文档顶部通过css应用了高度和宽度,但google maps API似乎在应用样式之前就初始化了(这一理论可以用dynatrace进行测试)

    *简易解决方案:

    1) 宽度和高度的内联样式*

    <div id="map_canvas" style="width: 700px; height: 400px"></div>
    
    
    

    2) 使用
    setTimeout()
    延迟地图加载,感谢Alphonso为我指明了正确的方向

    问题在于map div的维度,尽管
    #map_canvas
    在文档顶部通过css应用了高度和宽度,但google maps API似乎在应用样式之前就初始化了(这一理论可以用dynatrace进行测试)

    *简易解决方案:

    1) 宽度和高度的内联样式*

    <div id="map_canvas" style="width: 700px; height: 400px"></div>
    
    
    

    2) 在我第一次访问您的站点(Safari 5)时,使用
    setTimeout()

    延迟地图的加载,这很好,但在随后的访问中,我明白了您的意思!我想标记器的颜色也从红色(当它工作时)变为蓝色(当它不工作时)……你能发布一些代码吗?@sonia我更新了问题,谢谢你的关注!我第一次访问您的站点(Safari 5)时,一切都很好,但在随后的访问中,我明白了您的意思!我想标记器的颜色也从红色(当它工作时)变为蓝色(当它不工作时)……你能发布一些代码吗?@sonia我更新了问题,谢谢你的关注!