2016-01-06 86 views
0

我與反向地理編碼的角度directive實驗和我在唯一可用的時刻獲得的緯度/經度從位置座標,但反向地理編碼指令將只給我的反向地理編碼與AngularJS

錯誤

地理編碼失敗的原因:ZERO_RESULTS

我創建了一個簡單的Plnkr例子來證明什麼,我試圖做到這一點,您可以查看here

當使用$scope.$apply(function(){ $scope.lat = lat; $scope.lng = lng; });

如果我用普通座標,而不是像

$scope.$apply(function(){ 
     $scope.lat = 4.545; 
     $scope.lng = 12.756; 
    }); 

因爲這隻會導致從反向地理編碼相同的錯誤不要緊。我試着在index.html文件

<reverse-geocode lat="{{lat}}" lng="{{lng}}"></reverse-geocode>花括號嘗試,但我有一個強烈的感覺,我需要以某種方式修改他們搶緯度/經度COORDS,但至今沒有運氣

+0

的plunkr鏈接已經在我的描述。如果由於某種原因無法打開它,您應該可以在這裏訪問它:http://plnkr.co/edit/78SRIuBCIETEuEcdNOl5 – SmalliSax

回答

1

這是因爲指令將在異步$window.navigator.geolocation.getCurrentPosition完成之前編譯並執行,這意味着指令內部的指令attrs.latattrs.lng都將爲空。

一個簡單的方法是防止指令從執行前是可用的數據:

<reverse-geocode ng-if="lat && lng" lat="{{lat}}" lng="{{lng}}"></reverse-geocode> 

演示:http://plnkr.co/edit/mJJ8OIvff1Xspnx24LfJ?p=preview

+0

我感覺這很簡單,從您提供的Plnkr的外觀似乎按預期工作。非常感謝你@tasseKATT! – SmalliSax

+0

不客氣:-) – tasseKATT