使用 ionic 3 中的背景地理位置无法将位置数据更新到服务器中

Updating location data into the server is not working using background geo locaion in ionic 3

我正在使用 https://github.com/mauron85/cordova-plugin-background-geolocation。它在前台提供位置详细信息,并在应用程序关闭时提供调试消息,但它不会将位置详细信息更新到服务器的前台和后台。

提前致谢

const config: BackgroundGeolocationConfig = {
    desiredAccuracy: 10,
    stationaryRadius: 10,
    distanceFilter: 10,
    debug: false,
    stopOnTerminate: false,
    startForeground: true,
    notificationTitle: 'location tracking',
    notificationText: 'Active',
    interval: 60000,

    url: localStorage.getItem('api_base_url')+'user/currentlocation',
    syncUrl:localStorage.getItem('api_base_url')+'user/currentlocation',
    httpHeaders: {
      'Content-Type': 'application/json'
    },
    postTemplate: {
      lat: '@latitude',
      lon: '@longitude',
      user_id: '1',
      currentDate: '12-12-2019',
      address: 'test',
    }
    };

this.backgroundGeolocation.configure(config)
  .then(() => {

    this.backgroundGeolocation.on(BackgroundGeolocationEvents.location).subscribe((location: BackgroundGeolocationResponse) => {
      console.log(location);
    });

  });

this.backgroundGeolocation.start();

Background geo location post template

请记住,当 postTemplate 是 jsonObject 并且 jsonArray 是数组数组时,所有位置(即使是单个位置)都将作为对象数组发送!

在服务器端,我将 JSON 对象更改为对象数组。

例如,

{
  "user_id": "1",
  "lon": "13.2",
  "lat": "82.3"
}

我把上面的JSON对象改成了下面的

[{
  "user_id": "1",
  "lon": "13.2",
  "lat": "82.3"
}]