簡體   English   中英

如何將 Angular 與 HTML5 地理定位本機 API 一起使用?

[英]How to use Angular with HTML5 geolocation native API?

我正在使用以下代碼片段來獲取當前的地理位置:

angular.module('HomelandApp').controller('PlacesController', function($scope,$http, $localStorage, uiGmapGoogleMapApi) {

  uiGmapGoogleMapApi.then(function(maps) {

        navigator.geolocation.getCurrentPosition(function (pos) {
            $scope.map = { center: { latitude: pos.coords.latitude, longitude: pos.coords.longitude }, zoom: 17 };
        });
  });
});

我面臨的問題是我必須以某種方式調用控制器兩次才能渲染地圖。 使用navigator時會發生這種情況,因此它不是純粹的 Angular UI 問題。

我猜他們是針對原生 JS 細節的摘要循環 Angular。 我應該如何解決這個問題?

navigator.geolocation位於 angular 核心之外,因此在其中進行的任何范圍更改都需要通知 angular 運行摘要以更新視圖。 有幾種方法可以做到這一點。

嘗試:

 navigator.geolocation.getCurrentPosition(function (pos) {
            $scope.map = { .... };
            $scope.$apply();
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM