离子地理定位始终属于错误方法

时间:2020-05-29 18:38:59

标签: android angular ionic-framework geolocation gps

我一直没有达到我想要的结果。我想要的只是获取地理位置坐标,如果关闭了设备位置,则会显示提示以启用该位置而无需离开应用程序,并且打开了设备位置,我已经手动对其进行了验证。

但是问题是每次尝试时,我都会陷入错误方法中

async function updateDoc (db, dataTmp, now, id, callback, logData, errorData) {
  try {
    console.log('inside updateDoc function')   

    console.log(dataTmp)        

    var user1 = await g.V().hasLabel('user').has('userId', dataTmp.userId).valueMap().unfold().toList()
console.log('user1', user1)
var user2 = await g.V().hasLabel('user').has('userId', dataTmp.trustedUserId).valueMap().unfold().toList()
console.log('user2', user2)
const edgeAdded =  await g.V().hasLabel('user').has('userId', dataTmp.userId).as('u').V().hasLabel('user').has('userId', dataTmp.trustedUserId).as('tu').addE('trust').from('u').to('tu').next()
console.log('edgeAdded making asynch', edgeAdded)
    // dc.close()        
    return callback(null)
  } catch (error) {
    return callback(null)
  }    

}

但是有一个很奇怪的东西,那就是在启动应用程序之前,如果我运行谷歌地图并找到自己的位置,那么我的应用程序将没有任何问题,否则它会陷入错误方法中。

1 个答案:

答案 0 :(得分:0)

我认为您不需要cordova-plugin-request-location-accuracy。这是您使用电容器获取当前位置的方法:

页面类(已更新,并进行了错误处理):

django_filters.filterset.BaseFilterSet

页面模板:

import { Component } from '@angular/core';

import { GeolocationPosition, Plugins } from '@capacitor/core';
const { Geolocation } = Plugins;

@Component({
  selector: 'app-home',
  templateUrl: 'home.page.html',
  styleUrls: ['home.page.scss'],
})
export class HomePage {
  currentPos: GeolocationPosition;
  waitingForCurrentPosition = false;

  constructor() {
  }

  async getCurrentPos() {
    try {
      this.waitingForCurrentPosition = true;
      this.currentPos = await Geolocation.getCurrentPosition();
      console.log(this.currentPos);
    } catch (err) {
      console.error('Failed to get current position.', err);
    } finally {
      this.waitingForCurrentPosition = false;
    }
  }

}

当您尝试获得职位时,该应用将请求权限(单击按钮)。

这可用于2个测试设备:

  • OnePlus 6(Android 10)
  • BlackView A60(Android Go)

我之前已经在iPhone 6S上对其进行过测试,因此它也适用于iOS。

我创建了一个basic demo in this repo

相关问题