2

我正在使用 ng-map google maps angular 库,当我在浏览器中重新加载页面时,地图没有更新时遇到问题。我还注意到浏览器要求分享我当前的位置,我是否同意分享位置并不重要,如果我下次访问相同的页面,地图会正确更新(无需完全重新加载页面)

 <div class="col-xs-10" ng-show="hasMap == true">
     <map zoom="13" center="{{ location }}"> 
       <marker position="{{ location }}" animation="DROP" icon="blue_marker.png">
       </marker>
    </map>
 </div>

在此处输入图像描述

4

1 回答 1

3

我也遇到了这个问题。我相信这是由于在 div 以最终大小呈现之前加载了地图图块。

在我的特殊情况下,根据控制器中设置的变量的值向地图添加 ng-if 可以解决问题。例如,尝试添加 ng-if="readyForMap":

  <div class="col-xs-10" ng-show="hasMap == true">
     <map ng-if="readyForMap" zoom="13" center="{{ location }}"> 
       <marker position="{{ location }}" animation="DROP" icon="blue_marker.png">
       </marker>
    </map>
  </div>

然后在控制器中将 readyForMap 的值设置为 true:

$scope.readyForMap = true;

起初我将它设置为 true 并超时,但这似乎是不必要的。

我不是 Angular 和谷歌地图渲染顺序的专家,所以我不能 100% 确定为什么会这样。但是,这似乎会延迟渲染地图足够长的时间,以使所有内容都处于正确的位置和大小。

于 2014-12-09T15:10:04.750 回答