如何实施 GoogleMap.CancelableCallback
How to implement GoogleMap.CancelableCallback
docs don't explain much on how to use GoogleMap.CancelableCallback
. Can I use it to notify my app that navigation has been cancelled using this callback? Can someone give me an example? Since the navigation is a separate app I learned it is hard to know if the user has cancelled the navigation or finished the navigation based on this SO answer 但必须有办法,因为优步 driver 应用程序可以根据乘客的请求取消行程。我对这个问题很沮丧,急需帮助。
我认为您不能将它用于导航,因为您将导航称为调用的额外意图,而不是代码的一部分。
该回调用于动画取消:
https://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap#animateCamera(com.google.android.gms.maps.CameraUpdate, com.google.android.gms.maps.GoogleMap.CancelableCallback)
你打电话
myMap.animateCamera(ANIMATION_UPDATEPARAMS,GoogleMap.CancelableCallback{...});
所以我认为你做不到。我不知道 Uber 是如何做事的,但我不认为它会启动 google 地图并了解导航何时以及是否发生变化...
当地图任务成功完成或被用户取消时,GoogleMap.CancelableCallback
会通知您。
在 GoogleMap
中,您可以将此回调附加到 animateCamera
(documentation) 以了解用户是否取消了 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
}
});
如您所见,此回调不提供您正在寻找的功能,正如 Can i detect if a user canceled navigation from Google Maps App 所说,如果您使用 Google 地图执行导航,因为 Google 地图是一个不同的应用程序,您无法知道用户是否取消了导航。
正如@tyczj 在 Can i detect if a user canceled navigation from Google Maps App 的评论中所述,您可以使用 Google 方向 API 并考虑 使用限制 。
docs don't explain much on how to use GoogleMap.CancelableCallback
. Can I use it to notify my app that navigation has been cancelled using this callback? Can someone give me an example? Since the navigation is a separate app I learned it is hard to know if the user has cancelled the navigation or finished the navigation based on this SO answer 但必须有办法,因为优步 driver 应用程序可以根据乘客的请求取消行程。我对这个问题很沮丧,急需帮助。
我认为您不能将它用于导航,因为您将导航称为调用的额外意图,而不是代码的一部分。 该回调用于动画取消: https://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap#animateCamera(com.google.android.gms.maps.CameraUpdate, com.google.android.gms.maps.GoogleMap.CancelableCallback)
你打电话
myMap.animateCamera(ANIMATION_UPDATEPARAMS,GoogleMap.CancelableCallback{...});
所以我认为你做不到。我不知道 Uber 是如何做事的,但我不认为它会启动 google 地图并了解导航何时以及是否发生变化...
当地图任务成功完成或被用户取消时,GoogleMap.CancelableCallback
会通知您。
在 GoogleMap
中,您可以将此回调附加到 animateCamera
(documentation) 以了解用户是否取消了 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
}
});
如您所见,此回调不提供您正在寻找的功能,正如 Can i detect if a user canceled navigation from Google Maps App 所说,如果您使用 Google 地图执行导航,因为 Google 地图是一个不同的应用程序,您无法知道用户是否取消了导航。
正如@tyczj 在 Can i detect if a user canceled navigation from Google Maps App 的评论中所述,您可以使用 Google 方向 API 并考虑 使用限制 。