2014-10-30 62 views
2

我正在使用ng-map谷歌地圖角庫,並在地圖不更新時遇到問題,當我在瀏覽器中重新加載頁面時。此外,我注意到瀏覽器請求分享我的當前位置,如果我同意或不共享位置,如果我將在下次訪問相同頁面時地圖得到更新正確(沒有完全重新加載頁面),無所謂Google角度地圖不會正確更新地圖

<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> 

enter image description here

+0

我懷疑你的{{location}}沒有正確更新。不過,我不確定。 請給我一個plnkr例子來重現你的錯誤。如果你的地圖是展示/隱藏的一部分,那麼就有關於此的討論。 – allenhwkim 2014-12-08 16:17:32

回答

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和Google地圖呈現事物順序的專家,所以我不能100%確定這是爲什麼會起作用。然而,這似乎延遲了地圖的渲染時間,足以讓所有東西都處於正確的位置和大小。