检查谷歌地图中的位置变化

时间:2016-02-04 20:15:04

标签: javascript jquery cordova google-maps geolocation

我正在使用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
    }  

我们需要在每次用户离开时检查这一点。

有人可以帮忙吗?许多人提前感谢。

1 个答案:

答案 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设备上实施。