Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
地理位置GetCurrentPosition vs WatchPosition(HTML5 JavaScript ASP.NET MVC)_Javascript_Asp.net Mvc_Geolocation - Fatal编程技术网

地理位置GetCurrentPosition vs WatchPosition(HTML5 JavaScript ASP.NET MVC)

地理位置GetCurrentPosition vs WatchPosition(HTML5 JavaScript ASP.NET MVC),javascript,asp.net-mvc,geolocation,Javascript,Asp.net Mvc,Geolocation,我正在为一个客户创建一些跟踪功能,该客户希望能够在地图上查看司机的交付进度。我在APS.NET MVC4应用程序中有一个javascript页面,它有一个一分钟的计时器,每分钟获取移动用户的当前位置,然后将该值存储在变量中,然后使用ajax调用MVC控制器函数,将该位置数据保存到数据库中。然后可以在bing地图上查看位置数据 我是以正确的方式实现的,还是应该使用HTML5 WatchPosition函数而不是GetCurrentPosition函数?我没有看到在WatchPosition功能中设

我正在为一个客户创建一些跟踪功能,该客户希望能够在地图上查看司机的交付进度。我在APS.NET MVC4应用程序中有一个javascript页面,它有一个一分钟的计时器,每分钟获取移动用户的当前位置,然后将该值存储在变量中,然后使用ajax调用MVC控制器函数,将该位置数据保存到数据库中。然后可以在bing地图上查看位置数据

我是以正确的方式实现的,还是应该使用HTML5 WatchPosition函数而不是GetCurrentPosition函数?我没有看到在WatchPosition功能中设置间隔的方法,它似乎在位置每次改变时都会触发,这似乎是连续触发,我只需要每隔一分钟左右的位置数据。谢谢你对我下面代码的建议

    var Latitude = 0;
    var Longitude = 0;

    var TrackingLoop = setInterval(function () { GetCurrentLocation() }, 60000);

    function RestartTracking() { location.reload(); }

    function GetCurrentLocation() {            
        if (navigator.geolocation) {
            var timeoutVal = 10 * 1000 * 1000;
            navigator.geolocation.getCurrentPosition(
                displayPosition,
                displayError,
                { enableHighAccuracy: true, timeout: timeoutVal, maximumAge: 0 }
            );
        }
        else {
            alert("Geolocation is not supported by this browser");
        }
    }


    function displayPosition(position) {
        Latitude = position.coords.latitude;
        Longitude = position.coords.longitude;
        UpdateLocation(Latitude, Longitude);
    }


    function UpdateLocation(Latitude, Longitude) {

        var JobID = document.getElementById("JobID").value;

        $.ajax({
            url: '/Job/UpdateLocation',
            type: 'POST',
            data: {
                JobID: JobID,
                Latitude: Latitude,
                Longitude: Longitude
            },
        });
    }