Android 如何实现GoogleMap.CancelableCallback
关于如何使用Android 如何实现GoogleMap.CancelableCallback,android,google-maps,callback,android-navigation,Android,Google Maps,Callback,Android Navigation,关于如何使用GoogleMap.CancelableCallback,本文没有做太多解释。我可以用它来通知我的应用程序,使用此回调取消了导航吗?有人能给我举个例子吗?由于导航是一个单独的应用程序,我了解到很难知道用户是否已根据取消导航或完成导航,但肯定有办法,因为优步司机应用程序能够根据乘客的请求取消行程。我对这个问题感到非常沮丧,非常需要帮助。我认为您不能将其用于导航,因为您调用导航是您调用的额外目的,而不是代码的一部分。 该回调用于动画取消: ,com.google.android.gms.
GoogleMap.CancelableCallback
,本文没有做太多解释。我可以用它来通知我的应用程序,使用此回调取消了导航吗?有人能给我举个例子吗?由于导航是一个单独的应用程序,我了解到很难知道用户是否已根据取消导航或完成导航,但肯定有办法,因为优步司机应用程序能够根据乘客的请求取消行程。我对这个问题感到非常沮丧,非常需要帮助。我认为您不能将其用于导航,因为您调用导航是您调用的额外目的,而不是代码的一部分。
该回调用于动画取消:
,com.google.android.gms.maps.GoogleMap.CancelableCallback)
你打电话
myMap.animateCamera(ANIMATION_UPDATEPARAMS,GoogleMap.CancelableCallback{...});
所以我认为你不能。我不知道Uber是怎么做的,但我认为它不会启动谷歌地图,也不会理解导航何时以及是否发生变化……谷歌地图。
GoogleMap.CancelableCallback
会在地图任务成功完成或被用户取消时通知您
在GoogleMap
中,您可以将此回调附加到animateCamera
()以了解用户是否已取消animateCamera
任务
您可以这样实现它:
map.animateCamera(yourCameraUpdate, new GoogleMap.CancelableCallback() {
@Override
public void onFinish() {
// Code to execute when the animateCamera task has finished
}
@Override
public void onCancel() {
// Code to execute when the user has canceled the animateCamera task
}
});
如您所见,此回调不提供您正在寻找的功能,并且如前所述,如果您使用Google Maps执行导航,因为Google Maps是另一个应用程序,您无法知道用户是否已取消导航
正如@tyczj在的评论中所述,您可以使用Google Directions API,同时考虑到