javascript - 如何在 ngMap 中将谷歌地图设置为 100% 高度

标签 javascript css twitter-bootstrap google-maps ng-map

嘿,我正在使用 ngMap为了显示谷歌地图组件。 现在举一个非常基本的例子,我正在使用 Bootstrap 并尝试将谷歌地图放在屏幕的一半上,因此我给它 col-lg-6。

但显然我总是得到相同的高度,即 300 像素。 我希望谷歌地图组件的高度为 100% 而不是固定高度(根本没有响应)。 这是我正在谈论的代码:

这是问题的一个问题:http://plnkr.co/edit/BQgMe5EQiFBmojgx45t5?p=preview

var app=angular.module('myapp', ['ngMap']);
  app.controller('EventSimpleCtrl', ['$scope', '$timeout', function($scope, $timeout) {
    var marker, map;
    $scope.$on('mapInitialized', function(evt, evtMap) {
      map = evtMap;
      marker = map.markers[0];
    });
    $scope.centerChanged = function(event) {
      $timeout(function() {
        map.panTo(marker.getPosition());
      }, 3000);
    }
    $scope.click = function(event) {
      map.setZoom(8);
      map.setCenter(marker.getPosition());
    }
  }]);
.map .panel-body {
  padding: 0;
}
<html ng-app="myapp">

<head>
  <link data-require="bootstrap@3.3.2" data-semver="3.3.2" rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" />
  <script data-require="bootstrap@3.3.2" data-semver="3.3.2" src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
  <script data-require="jquery@2.1.3" data-semver="2.1.3" src="http://code.jquery.com/jquery-2.1.3.min.js"></script>
  <script src="https://maps.googleapis.com/maps/api/js?v=3"></script>
  <script src="http://code.angularjs.org/1.2.25/angular.js"></script>
  <script src="https://rawgit.com/allenhwkim/angularjs-google-maps/master/build/scripts/ng-map.js"></script>
  <script src="script.js"></script>
  <link rel="stylesheet" href="style.css" />
</head>

<body>
  <div ng-controller="EventSimpleCtrl" class="ng-scope">
    <div class="row">
      <div class="col-lg-6">
        <!--<div class="panel panel-primary map">-->
        <!--  <div class="panel-heading">Test</div>-->
        <!--  <div class="panel-body">-->
        <!--    <map zoom="4" center="-25.363882, 131.044922" on-center-changed="centerChanged()">-->
        <!--      <marker position="-25.363882, 131.044922" on-click="click()" title="Click to zoom"></marker>-->
        <!--    </map>-->
        <!--  </div>-->
        <!--</div>-->
      </div>
      <div class="col-lg-6">
        <map zoom="4" center="-25.363882, 131.044922" on-center-changed="centerChanged()">
          <marker position="-25.363882, 131.044922" on-click="click()" title="Click to zoom"></marker>
        </map>
      </div>
    </div>
  </div>
</body>

</html>

最佳答案

别担心。问题 = 解决方案。

样式:

.map{width:100%;} .panel-body {width:100%;}

HTML :

  <div ng-controller="EventSimpleCtrl" class="ng-scope">
<div class="container"></div>
<div class="row">
  <div class="col-md-12">
    <!--<div class="panel panel-primary map">-->
    <!--  <div class="panel-heading">Test</div>-->
    <!--  <div class="panel-body">-->
    <!--    <map zoom="4" center="-25.363882, 131.044922" on-center-changed="centerChanged()">-->
    <!--      <marker position="-25.363882, 131.044922" on-click="click()" title="Click to zoom"></marker>-->
    <!--    </map>-->
    <!--  </div>-->
    <!--</div>-->
    <map zoom="4" center="-25.363882, 131.044922" on-center-changed="centerChanged()">
      <marker position="-25.363882, 131.044922" on-click="click()" title="Click to zoom"></marker>
    </map>
          </div>
  </div>
  </div>

希望我回答了您的问题。我在您的 Plunker 链接上进行了测试,没问题。

关于javascript - 如何在 ngMap 中将谷歌地图设置为 100% 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39470373/

相关文章:

javascript - 如何获得 jQuery 模态覆盖而不插入滚动条?

html - 元素在居中元素之上的响应式定位

html - 为什么 inline-block 在这种情况下不能垂直居中?

javascript - Bootstrap 下拉菜单不适用于移动设备

html - 如何将 Logo 放在背景图像的中心?

javascript - 带 Angular Bootstrap 工具提示不起作用

javascript - Chrome for iOS (iPad/iPhone) 不会触发输入的焦点事件

javascript - 如何在每个ajax调用上绑定(bind)开始和完成事件

javascript - 推送菜单 - 如何推送 body

html - 四态复选框