[英]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.