在ASP.NET MVC4中,HTML5应用程序navigator.geolocation.watchPosition
用于在Android和Apple平板电脑中使用下面的脚本在服务器中存储汽车位置数据。
如果汽车正在移动,这会在每秒钟后为Postgres 9.1数据库添加新记录。 这会产生太多数据,并且可能无法使用平板电脑累加器功率来获取gps数据。
如何减少存储在数据库中的记录数量? 我的精确度可能足以让我每分钟只发送一次新的位置数据。如何降低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。