如何在当前应用程序的按钮单击事件中打开Google 地图应用程序。
8 回答
使用下面的行
String uri = "http://maps.google.com/";
Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(uri));
intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
startActivity(intent);
这将在地图应用程序中重定向。
您可以打开谷歌地图,意图给出您的起点和终点。
Intent navigation = new Intent(Intent.ACTION_VIEW, Uri
.parse("http://maps.google.com/maps?saddr="
+ Constants.latitude + ","
+ Constants.longitude + "&daddr="
+ latitude + "," + longitude));
startActivity(navigation);
这将打开任何地图应用程序。表示浏览器或谷歌地图应用程序。如果您只想要谷歌地图并摆脱对话框,您可以向意图提示您要使用哪个包。
在startActivity()
添加之前:
intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
您必须使用Intent。
这里有一个真实的例子
http://www.tutorialforandroid.com/2009/10/launching-other-application-using-code.html
这里有一个理论例子
这里有 Android文档
http://developer.android.com/reference/android/content/Intent.html
希望能帮助到你!:)
您可以通过在 AndroidManifes.xml 中指定“intent-filters”来做到这一点;有关如何从您的应用程序启动 google 应用程序的更多信息,请参阅此链接:Intents List: Invoking Google Applications on Android Devices
WebView view=(WebView) findViewById(R.id.w);
Button button=(Button) findViewById(R.id.nxt);
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
view.loadUrl("http://maps.google.co.in/maps?hl=en&tab=wl");
}
};
这是从我当前的应用程序调用谷歌地图的另一种方式。
String SettingsPage = "com.google.android.apps.maps/com.google.android.maps.MapsActivity";
try
{
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(ComponentName.unflattenFromString(SettingsPage));
intent.addCategory(Intent.CATEGORY_LAUNCHER );
startActivity(intent);
}
catch (ActivityNotFoundException e)
{
Log.e("Activity Not Found","");
}
catch (Exception e) {
Log.e("Activity Not Found",""+e);
}
你可以使用这样的东西:Intent intent = new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse("http://maps.google.com/maps?saddr=20.344,34.34&daddr=20.5666,45.345"));
startActivity(intent);
用这个。希望这对你有用:
Button showMap = (Button) findViewById(R.id.btn_showMap);
showMap .setOnClickListener(new OnClickListener()
{
public void onClick(View v){
Intent i = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("geo:"+ latitude +","+ longitude ));
startActivity(i);
}
});