Мок для navigator.geolocation
.
Модуль подменяет стандартную геолокацию браузера.
var point = [54.980206086231, 82.898068362003];
geolocate.use();
navigator.geolocation.getCurrentPosition(function(position) {
assert(position.coords.latitude).equal(point[0]);
assert(position.coords.longitude).equal(point[1]);
});
geolocate.send({lat: point[0], lng: point[1]});
geolocate.restore();
Вручную:
<script src="geolocate.js"></script>
Из npm
:
npm install mock-geolocation
Как CommonJS
или AMD
модуль:
var geolocate = require('mock-geolocation');
Заменяет объект navigator.geolocation
Возвращает navigator.geolocation
в исходное состояние
Имитирует нахождение позиции после вызова метода getCurrentPosition и watchPosition.
Обновляет текущую позицию из options
, в которых могут задаваться все параметры positions.coords и timestamp.
navigator.geolocation.getCurrentPosition(function(position) {
console.log(position);
});
geolocate.send({
latitude: 50,
longitude: 10,
accuracy: 5,
timestamp: 3000
});
/* {
coords: {
accuracy: 5,
altitude: null
altitudeAccuracy: null,
heading: null,
latitude: 50
longitude: 10,
speed: null
},
timestamp: 3000
} */
navigator.geolocation.getCurrentPosition(function(position) {
console.log(position);
});
geolocate.send();
/* Выведит такую же позицию {
coords: {
accuracy: 5,
altitude: null
altitudeAccuracy: null,
heading: null,
latitude: 50
longitude: 10,
speed: null
},
timestamp: 3000
} */
Меняет текущую позицию и вызывает success callback
метода watchPosition
.
Обновляет текущую позицию из options
, в которых могут задаваться все параметры positions.coords и timestamp.
navigator.geolocation.watchPosition(function(position) {
console.log(position.coords.latitude + ', ' + position.coords.longitude);
});
geolocate.send();
// 54.9799, 82.89683699999999
geolocate.change({lat: 10, lng: 15});
// 10, 15
geolocate.change({lat: 25});
// 25, 15
Вызывает error callback
метода getCurrentPosition
.
В options
задаются параметры code и message.
Вызывает error callback
метода watchPosition
.
В options
задаются параметры code и message.