导航完成后,如何从 Android 应用程序中的 google 地图获取回调
How to get a callback from google maps in Android application, when navigation is complete
我正在构建一个 android 应用程序,它将在 google 地图上显示某些点,我有 (lat,lang) 用于显示的所有点。每当用户单击 google 地图上的这些位置之一时,我都会启动一个新的 Google 地图意图,它向用户显示导航并应该将用户带到那个位置(lat,lang) .
//suppose this function is called on onclick of google maps event
function onclick(){
Uri gmmIntentUri = Uri.parse("google.navigation:q=32.885240,-96.763475");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
if (mapIntent.resolveActivity(getPackageManager()) != null) {
startActivity(mapIntent);
}
}
这将为用户启动导航。
现在我想要实现的是 -
每当此导航完成时,我希望将某种标志传递给我的 android 应用程序,以便我的应用程序知道导航已完成。
如果可以在导航完成后自动关闭 google 地图应用程序,那就太好了。
非常感谢任何帮助。谢谢。有人对此有任何解决方案吗?
到达目的地后,您需要在activity上调用finish()方法。所以这里是你需要在你的程序中实现的步骤。
首先从用户输入中知道目的地坐标,并在方向API中传递。
https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&key=API_KEY
当您知道目的地坐标时,您可以在导航意图中单击代表该坐标的标记时传递该坐标。 (你已经完成了)
利用跟踪当前位置坐标的位置侦听器接口。
放置一个if...else条件,检查当前位置是否等同于目的地.
当当前位置==目的地时调用activity.finish()这将最后关闭地图 activity 托管。
希望对您有所帮助!!
我正在构建一个 android 应用程序,它将在 google 地图上显示某些点,我有 (lat,lang) 用于显示的所有点。每当用户单击 google 地图上的这些位置之一时,我都会启动一个新的 Google 地图意图,它向用户显示导航并应该将用户带到那个位置(lat,lang) .
//suppose this function is called on onclick of google maps event
function onclick(){
Uri gmmIntentUri = Uri.parse("google.navigation:q=32.885240,-96.763475");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
if (mapIntent.resolveActivity(getPackageManager()) != null) {
startActivity(mapIntent);
}
}
这将为用户启动导航。 现在我想要实现的是 - 每当此导航完成时,我希望将某种标志传递给我的 android 应用程序,以便我的应用程序知道导航已完成。
如果可以在导航完成后自动关闭 google 地图应用程序,那就太好了。
非常感谢任何帮助。谢谢。有人对此有任何解决方案吗?
到达目的地后,您需要在activity上调用finish()方法。所以这里是你需要在你的程序中实现的步骤。
首先从用户输入中知道目的地坐标,并在方向API中传递。
https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&key=API_KEY
当您知道目的地坐标时,您可以在导航意图中单击代表该坐标的标记时传递该坐标。 (你已经完成了)
利用跟踪当前位置坐标的位置侦听器接口。
放置一个if...else条件,检查当前位置是否等同于目的地.
当当前位置==目的地时调用activity.finish()这将最后关闭地图 activity 托管。
希望对您有所帮助!!