我正在使用AngularJS,Ionic Framework和Cordova。我试图将当前用户位置设置在地图的中心。
这里是我的代码:
.controller('mainCtrl', function($scope) {
$scope.position = "";
var latLng = {};
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
$scope.$apply(function() {
$scope.position = position;
latLng = {
'lat': position.coords.latitude,
'lng': position.coords.longitude
};
});
});
};
$scope.map = {
center: {
latitude: 51.219053,
longitude: 4.404418
},
...
我可以打印当前用户位置这样的脚本之外:
clat: {{position.coords.latitude}}, clang: {{position.coords.longitude}}
但我想用它在脚本中。我已经尝试过这些没有任何成功:
center: { latitude: position.coords.latitude,...
center: { latitude: $scope.position.coords.latitude,...
center: { latitude: latLng.lng,...
center: { latitude: latLng['lng'],...
如何在脚本中使用它?
错误日志:
TypeError: Cannot read property 'latitude' of undefined
检查你安慰错误 –
这是因为地理位置是异步 – maurycy
函数调用发生在控制器中时,是否需要'$ apply'? – tylerwal