2014-01-15 236 views
0

在我的表单中,我有选项卡类型Togglable tabs前端Bootstrap。每次点击标签页,我需要显示地图,不幸的是显示在灰色的部分。使用的代码:地图显示为灰色

@Using Ajax.BeginForm("Index", New AjaxOptions() With { _ 
                 .UpdateTargetId = "AnswerSN", 
                 .HttpMethod = "POST" 
                 }) 
@<Script> 
    init("tab1"); 

    function ChangeDiv(whoDiv) { 
     if (whoDiv.href.indexOf("#tab1") != -1) { 
      $(".mezzouno").attr("id", "old-map") 
      $(".flottauno").attr("id", "basic-map") 
      clearTimeout(TimeR) 
      init("tab1"); 
     } else if (whoDiv.href.indexOf('#mezzo1') != -1) { 
      $(".flottauno").attr("id", "old-map") 
      $(".mezzouno").attr("id", "basic-map") 
      clearTimeout(TimeR) 
      init("mezzo1"); 
     } 
    } 

    var TimeR; 

    function Fleet() { 
     var updateUrl = '@Url.Action("FleetVb", "Home")'; 

     $.ajax({ 
      url: updateUrl, 
      success: function (result) { 
       FleetJs(result); 
      }, 
      cache: false 
     }); 

     clearTimeout(TimeR) 
     TimeR= window.setTimeout("Fleet()", 60000); 
    } 

    function Vehicle() { 
     var updateUrl = '@Url.Action("PointVb", "Home")'; 

     $.ajax({ 
      url: updateUrl, 
      success: function (result) { 
       initialize(result); 
      }, 
      cache: false 
     }); 

     clearTimeout(TimeR) 
     TimeR= window.setTimeout("Vehicle()", 60000); 
    } 

    function init(whoDiv) { 
     var myOptions = { 
      zoom: 8, 
      center: new google.maps.LatLng(41.895122, 12.481627), 
      mapTypeId: google.maps.MapTypeId.ROADMAP, 
      panControl: true, 
      panControlOptions: { 
       position: google.maps.ControlPosition.RIGHT_TOP 
      }, 
      zoomControlOptions: { 
       style: google.maps.ZoomControlStyle.SMALL 
      }, 
      streetViewControl: false, 
      scaleControl: true 
     }; 

     map = new google.maps.Map(document.getElementById("basic-map"), myOptions); 
     google.maps.event.trigger(map, 'resize'); 

     if (whoDiv== 'tab1') { 
      window.setTimeout("ProvaFlotta()", 1000); 
     } else if (whoDiv== 'mezzo1') { 
      window.setTimeout("Prova()", 1000); 
     } 
    } 
</script> 

@<div id="AnswerSN" style="position:absolute; top:100px"></div> 

End Using 

在哪里处理标签的点选并根据它和查询地图的id? 不幸的是,我得到这个:

Map

可以调出完整的地图,而不是灰色的?

+0

这可能是一个CSS问题: http://stackoverflow.com/questions/9141249/twitter-bootstrap-css-affecting-google-maps – SebastianStehle

+0

的代码部分,其初始化地图即可。它显示缩放后的意大利和罗马地区。检查您的地图样式设置。 –

+0

好的,扩大浏览器窗口的地图将恢复正常,这是可见的,点击标签返回到灰色的可见部分,并将窗口放大到100%可见。 你可以使它始终可见的点击? –

回答

0

放大浏览器窗口,地图变得可见,点击标签我看到其他地图的灰色背部,并加宽窗口可见。

如何使其始终可见?好像有东西进去冲突....

帮助

0

然后, 调整大小我在两个函数插入“舰队()”和“车辆()”使用布尔类型的另一个变量,所以调整大小只做一次。对这两个函数的调用由具有200毫秒计时器的“init()”执行,以便地图不会显示为灰色。

再次感谢您。