Я получаю де геолокации пользователя, таким образом, и то работает у может увидеть его в представлении с {{ш}} и {{}} LNG:Как передать параметры в angularjs?
(function() {
var showController = function($scope, $http, $routeParams) {
$scope.showPosition = function (position) {
$scope.lat = position.coords.latitude;
$scope.lng = position.coords.longitude;
$scope.$apply();
}
$scope.showError = function (error) {
switch (error.code) {
case error.PERMISSION_DENIED:
$scope.error = "User denied the request for Geolocation."
break;
case error.POSITION_UNAVAILABLE:
$scope.error = "Location information is unavailable."
break;
case error.TIMEOUT:
$scope.error = "The request to get user location timed out."
break;
case error.UNKNOWN_ERROR:
$scope.error = "An unknown error occurred."
break;
}
console.log ("error geo "+$scope.error);
$scope.$apply();
}
$scope.getLocation = function() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition($scope.showPosition, $scope.showError);
}
else {
$scope.error = "Geolocation is not supported by this browser.";
}
}
$scope.getLocation();
/** Here says lat and lng undefinied*/
$scope.showTrends = function() {
var url;
if ($scope.error) {
url = "http://localhost:3000/trends?id=23424747"
}
else {
url = "http://localhost:3000/myplace?lat="+$scope.lat+"&long="+$scope.lng;
console.log(url);
}
$http.get(url)
.then(function(res){
$scope.trends = res.data[0].trends;
console.log(res.data[0].trends);
})
}
}
})
Теперь мне нужно выбрать между разными URL-адресами на основе результатов локации. У меня есть этот код, но doen't работы, потому что он говорит, что широта и LNG является undefinied Может быть, я просто звоню широты и долго в неправильном
Я звоню его в представлении, как
<section ng-init="showTrends()"></section>
ли код, определяющий функцию $ scope.showTrends под тега в вашем HTML? –
buzzsaw
no no, у меня есть все js-код, показанный в моем контроллере, и тег раздела предназначен только для того, чтобы показать способ, которым я его называю в моем представлении. –
«Не работает»: означает ли это, что $ scope.lat является undefined? Является ли ваша функция showTrends в том же контроллере? – Bigood