我正在尝试使用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')
})
})
})
}
答案 0 :(得分:0)
问题是
if (mGoogleApiClient != null) {
LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this);
}
在您的onLocationChanged
方法中。
当您获得第一次位置更新时,您将删除位置更新,因为mGoogleApiClient != null
为真。
将removeLocationUpdates
移至onDestroy
区块,一切正常。