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

Posted

技术标签:

【中文标题】检查谷歌地图中的位置变化【英文标题】:check position change in google map 【发布时间】:2016-02-04 20:15:03 【问题描述】:

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

您可以使用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 在设备上实现的。

【讨论】:

以上是关于检查谷歌地图中的位置变化的主要内容,如果未能解决你的问题,请参考以下文章

动画相机以定位和设置谷歌地图中的平移

谷歌地图 API 变化?

谷歌地图 - 位置不断在我的真实位置和 0.6 英里之外(随机地点)之间跳跃

谷歌地图空白,但在模拟器上仍有位置

启用位置后刷新谷歌地图

如何使用谷歌地图 Api 获得最精确的位置 [重复]