Я даю своей карте широту и долготу, но на карте она не берется.
кто-нибудь может помочь?
Изображение 1:
Изображение 2:
это контроллер:
angular.module('todoController', ['ngMap' , 'firebase'])
// inject the Todo service factory into our controller
.controller('mainController', ['$scope' , '$firebaseArray' , function($scope , $firebaseArray ,NgMap , $timeout ) {
// check the ng-map docs for api url and api key
$scope.mapsApiUrl = 'AIzaSyA3ZMA6KlxboXRuA7ItNNSlJp3xcgjaB0M';
$scope.$onInit = onInit;
функция onInit, которая инициализирует карту
function onInit() {
NgMap.getMap().then(function (mapInstance) {
var center = mapInstance.getCenter();
google.maps.event.trigger(mapInstance, 'resize');
mapInstance.setCenter(center);
$timeout(function () {
$scope.map = mapInstance;
});
}) ; }
ссылка на пожарную базу
// CREATE A FIREBASE REFERENCE
var config = {
apiKey: "AIzaSyAKoDxaWtWmvnDAvMBwddPeGt16gRPzALg",
authDomain: "trackeur-backend.firebaseapp.com",
databaseURL: "https://trackeur-backend.firebaseio.com",
projectId: "trackeur-backend",
storageBucket: "trackeur-backend.appspot.com",
messagingSenderId: "981610558503"
};
firebase.initializeApp(config);
вот функция запуска приложения
$scope.addTodo = function () {
var lat = firebase.database().ref().child('coordinates').child('lat');
var lon = firebase.database().ref().child('coordinates').child('lon');
setInterval(() => {
lat.on("value", function(snapshot) {
// This isn't going to show up in the DOM immediately, because
// Angular does not know we have changed this in memory.
// $scope.data = snapshot.val();
// To fix this, we can use $scope.$apply() to notify Angular that a change occurred.
$scope.$apply(function() {
$scope.data = snapshot.val();
});
});
lon.on("value", function(snapshot) {
// This isn't going to show up in the DOM immediately, because
// Angular does not know we have changed this in memory.
// $scope.data = snapshot.val();
// To fix this, we can use $scope.$apply() to notify Angular that a change occurred.
$scope.$apply(function() {
$scope.data1 = snapshot.val();
});
});
// here I provide the latitude and longitude to my map
console.log($scope.data +' , '+ $scope.data1 ) ;
$scope.coord ={
lat: $scope.data ,
lon: $scope.data1
} ;
}, 1000);
};
Моя проблема в том, что я получаю широту и долготу из базы данных, но когда я отправляю их в свой HTML, он не помечает координаты, которые я получил, на самом деле он вообще не перемещается, вот маркер:
<marker position="[{{$coord.lat}} , {{$coord.lon}}] " icon="car2.png"></marker>