简体   繁体   中英

How to open **Google Maps** application from my current application?

如何从当前应用程序中单击按钮时打开Google Maps应用程序。

use below line

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

that will redirect in map application.

You can open google maps with intent giving your starting point and end point.

Intent navigation = new Intent(Intent.ACTION_VIEW, Uri
        .parse("http://maps.google.com/maps?saddr="
                + Constants.latitude + ","
                + Constants.longitude + "&daddr="
                + latitude + "," + longitude));
startActivity(navigation);

This opens any maps application. Means a browser or google maps application. If you just want google maps and get rid of the dialog you can give the intent a hint as to which package you want to use.

Before the startActivity() add this:

intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");

You have to use a Intent .

Here you have a real example

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

Here you have an theoric example

Open another application from your own (intent)

Here you have the Android documentation

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

Hope it helps! :)

You can do that by specifying "intent-filters" in your AndroidManifes.xml; for more on how to launch google applications from your application see this link: 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");
                    }
                        };

You could use something like this: 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); 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);

This is another way to call google maps from my current app.

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

use this. hope it works for you:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM