如何减少navigator.geolocation.watchPosition返回的数据量

时间:2016-11-11 08:50:34

标签: javascript android asp.net-mvc postgresql geolocation

在ASP.NET MVC4中,HTML5应用程序navigator.geolocation.watchPosition用于在Android和Apple平板电脑中使用下面的脚本在服务器中存储汽车位置数据。

如果汽车正在移动,这会在每秒钟后为Postgres 9.1数据库添加新记录。 这会产生太多数据,并且可能无法使用平板电脑累加器功率来获取g​​ps数据。

如何减少存储在数据库中的记录数量? 我的精确度可能足以让我每分钟只发送一次新的位置数据。如何降低watchPosition传输速率,是否有一些选择呢?

或者MVC控制器应该实现某些方法吗?创建保存在数据库中的记录数量?

客户端:

        watchId=navigator.geolocation.watchPosition(
            function success(position) {
                $.post( 'api/Soit?'+$.param({
                    latitude: position.coords.latitude,
                    longitude: position.coords.longitude
                    }));
            },
            function errorCallback(err) {
            }, {
                enableHighAccuracy: true
            });

服务器:

        [HttpPost]
        public dynamic Soit([FromUri]int dokumnr, [FromUri]float latitude, [FromUri]float longitude)
        {
            Db.ExecCommand(@"insert into doksyndm (aeg, latitude, longitude)
values (current_timestamp, {0},{1})", latitude, longitude);
            return new
            {
                Message = "OK"
            };
        }

使用Postgres 9.1,ASP .NET MVC4,ASP.NET Web API,jQuery,Bootstrap 3,jQuery UI。

0 个答案:

没有答案