我正在使用cordova构建设备平台的谷歌地图。
我要问的是,如何检查用户位置是否有变化?
因为情况是,当用户离开指定地点时,页面将被重定向到注销页面。
这是我对静态地图的工作地图(尚未改变位置)
var longitude = position.coords.longitude;
var latitude = position.coords.latitude;
var latLong = new google.maps.LatLng(latitude, longitude);
var mapOptions = {
center: latLong,
zoom: 18,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
var marker = new google.maps.Marker({
position: latLong,
map: map,
title: 'my location'
});
所以实现我想要的功能或多或少是这样的:
var positionMust = x, -y;
if (latLong != positionMust )
{
window.location.href//to logout
}
我们需要在每次用户离开时检查这一点。
有人可以帮忙吗?许多人提前感谢。
答案 0 :(得分:2)
您可以使用navigator.geolocation
API,如本文所示:
Accessing a Google Maps API on pageload with Angular
特别感兴趣的是navigator.geolocation.getCurrentPosition()
和navigator.geolocation.watchPosition()
。
并且还可以使用Google Geometry Library检查某个位置是否在某个区域内,请参阅:
Determine if location is within a certain region in Google Map
上述所有地理定位API均由cordova-plugin-geolocation在设备上实施。