在Android上更改位置时连续更新标记 - 未发生

时间:2017-11-24 13:17:42

标签: android google-maps

我正在尝试使用Google地图实现一个简单的导航应用。最初,我开发了一个代码,用于在地图上标记两个地理点并显示它们之间的路线。现在我正在尝试根据用户位置将第一个标记移向第二个标记(目标)。 我的第一个标记是设备的位置,第二个是从db通过api获取的。

为此,我使用了LocationListener并在onLocationChanged中实现了代码。问题是onLocationChanged没有被触发并且标记没有根据用户位置移动.Marker仅在每次加载应用程序时移动。 这是我的代码。

exports.testSaveFacebookPages = functions.https.onRequest((req, res) => {
  cors(req, res, () => {
    let userUid = req.body.uid  

    const PagesRef = admin.firestore().collection(`/users/${userUid}/pages/`)
    const promises = []
    pages.forEach(function(page, index){
      const promise = PagesRef.doc(`p${index}`).update(page, { merge: true })
      promises.push(promise)
    })

    Promise.all(promises)
    .then(results => {
      res.status(200).send('Pages saved successfull!')
    })
    .catch(error => {
      res.status(500).send('error')
    })
  })
})

}

1 个答案:

答案 0 :(得分:0)

问题是

if (mGoogleApiClient != null) {
        LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this);
    }

在您的onLocationChanged方法中。 当您获得第一次位置更新时,您将删除位置更新,因为mGoogleApiClient != null为真。 将removeLocationUpdates移至onDestroy区块,一切正常。