在使用定时器调用百度地图定位来实现实时定位,但是发现一直返回的都是第一次定位的经纬度

我在使用定时器调用百度地图定位来实现实时定位,但是发现一直返回的都是第一次定位的经纬度,只有在10分钟后,才会返回新的经纬度,有人能指点下吗
//自动定位获取当前信息
        function handler() {
            map.clearOverlays();
            // 获取自动定位方法
            var geolocation = new BMap.Geolocation();
            var gc = new BMap.Geocoder(); //创建地理编码器
            // 开启SDK辅助定位
            geolocation.enableSDKLocation();
            // 获取自动定位获取的坐标信息
            geolocation.getCurrentPosition(
                function(r) {
                    if (this.getStatus() == BMAP_STATUS_SUCCESS) {
                        var mk = new BMap.Marker(r.point);
                        map.addOverlay(mk);
                        map.panTo(r.point);

                        var pt = r.point;

                        console.log('您的位置:' + r.point.lng + ',' + r.point.lat);
                        gc.getLocation(pt, function(rs) {
                            var addComp = rs.addressComponents;
                            var div2 = document.createElement("div");
                            div2.innerHTML = '您的位置:' + JSON.stringify(addComp.province + addComp.city + addComp.district + addComp.street +
                                addComp.streetNumber) + '<br/>' + r.point.lng + ',' + r.point.lat;
                            document.getElementById('json').appendChild(div2);
                        });
                    } else {
                        alert('failed' + this.getStatus());
                    }
                }, {
                    enableHighAccuracy: true,
                    timeout: 100000,
                    maximumAge: 0,
                    SDKLocation: true
                }
            );
        };
        
        realTimeClData = setInterval(handler, 10000);

题主可以去百度官方反馈试试

百度js sdk实际调用的还是h5的geolocation.getCurrentPosition来实现定位。geolocation对象有个watchPosition来实现定位监控的

题主试试用原生js的geolocation.watchPosition监控试试(注意不需要setInterval)

然后调用百度的Geocoder getLocation反向解析下

timeout: 100000,
把这个数值设置小一点