1

如何在当前应用程序的按钮单击事件中打开Google 地图应用程序。

4

8 回答 8

5

使用下面的行

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);

这将在地图应用程序中重定向。

于 2012-07-23T06:55:07.253 回答
3

您可以打开谷歌地图,意图给出您的起点和终点。

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");
于 2012-07-23T06:58:52.873 回答
2

您必须使用Intent

这里有一个真实的例子

http://www.tutorialforandroid.com/2009/10/launching-other-application-using-code.html

这里有一个理论例子

从您自己的(意图)打开另一个应用程序

这里有 Android文档

http://developer.android.com/reference/android/content/Intent.html

希望能帮助到你!:)

于 2012-07-23T06:56:47.133 回答
1

您可以通过在 AndroidManifes.xml 中指定“intent-filters”来做到这一点;有关如何从您的应用程序启动 google 应用程序的更多信息,请参阅此链接:Intents List: Invoking Google Applications on Android Devices

于 2012-07-23T06:54:46.140 回答
1
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");
                    }
                        };
于 2012-07-23T07:00:56.123 回答
0

这是从我当前的应用程序调用谷歌地图的另一种方式。

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);
                }
于 2012-07-24T05:36:29.740 回答
0

你可以使用这样的东西: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);

于 2012-07-23T07:07:10.957 回答
0

用这个。希望这对你有用:

 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);
 }
 });
于 2017-06-20T09:43:26.317 回答