Redmi note 7 lỗi google map site c.mi.com

The Google Maps app for Android exposes several intents that you can use to launch Google Maps in display, search, navigation, or Street View modes. If you want to embed a map in your app, please refer to the Google Maps Android API Getting Started Guide.

Overview

Intents let you start an activity in another app by describing a simple action you'd like to perform [such as "display a map" or "show directions to the airport"] in an

mapIntent.resolveActivity[packageManager]?.let { ... }

8 object. The Google Maps app for Android supports several different intents, allowing you to launch the Google Maps app and perform one of four actions:

  1. Display a map at a specified location and zoom level.
  2. Search for locations or places, and display them on a map.
  3. Request directions from one location to another. Directions can be returned for three modes of transportation: driving, walking, bicycling.
  4. Display panorama imagery in Google Street View.

This page describes the intents that you can use with Google Maps app for Android. For more information on Intents and Intent Filters, or Intents common to the Android platform, refer to the Android developer documentation.

Intent requests

In order to launch Google Maps with an intent you must first create an

mapIntent.resolveActivity[packageManager]?.let { ... }

8 object, specifying its action, URI and package.

  • Action: All Google Maps intents are called as a View action — Uri gmmIntentUri = Uri.parse["geo:37.7749,-122.4194"]; Intent mapIntent = new Intent[Intent.ACTION_VIEW, gmmIntentUri]; mapIntent.setPackage["com.google.android.apps.maps"]; if [mapIntent.resolveActivity[getPackageManager[]] != null] { startActivity[mapIntent]; } 0.
  • URI: Google Maps intents use that specify a desired action, along with some data with which to perform the action.
  • Package: Calling Uri gmmIntentUri = Uri.parse["geo:37.7749,-122.4194"]; Intent mapIntent = new Intent[Intent.ACTION_VIEW, gmmIntentUri]; mapIntent.setPackage["com.google.android.apps.maps"]; if [mapIntent.resolveActivity[getPackageManager[]] != null] { startActivity[mapIntent]; } 1 will ensure that the Google Maps app for Android handles the Intent. If the package isn't set, the system will determine which apps can handle the mapIntent.resolveActivity[packageManager]?.let { ... } 8. If multiple apps are available, the user may be asked which app they would like to use.

After creating the

mapIntent.resolveActivity[packageManager]?.let { ... }

8, you can request that the system launch the related app in a number of ways. A common method is to pass the

mapIntent.resolveActivity[packageManager]?.let { ... }

8 to the method. The system will launch the necessary app — in this case Google Maps — and start the corresponding

Uri gmmIntentUri = Uri.parse["geo:37.7749,-122.4194"]; Intent mapIntent = new Intent[Intent.ACTION_VIEW, gmmIntentUri]; mapIntent.setPackage["com.google.android.apps.maps"]; if [mapIntent.resolveActivity[getPackageManager[]] != null] { startActivity[mapIntent]; }

6.

Java

// Create a Uri from an intent string. Use the result to create an Intent. Uri gmmIntentUri = Uri.parse["google.streetview:cbll=46.414382,10.013988"]; // Create an Intent from gmmIntentUri. Set the action to ACTION_VIEW Intent mapIntent = new Intent[Intent.ACTION_VIEW, gmmIntentUri]; // Make the Intent explicit by setting the Google Maps package mapIntent.setPackage["com.google.android.apps.maps"]; // Attempt to start an activity that can handle the Intent startActivity[mapIntent];

Kotlin

// Create a Uri from an intent string. Use the result to create an Intent. val gmmIntentUri = Uri.parse["google.streetview:cbll=46.414382,10.013988"] // Create an Intent from gmmIntentUri. Set the action to ACTION_VIEW val mapIntent = Intent[Intent.ACTION_VIEW, gmmIntentUri] // Make the Intent explicit by setting the Google Maps package mapIntent.setPackage["com.google.android.apps.maps"] // Attempt to start an activity that can handle the Intent startActivity[mapIntent]

If the system cannot identify an app that can respond to the intent, your app may crash. For this reason, you should first verify that a receiving application is installed before you present one of these intents to a user.

To verify that an app is available to receive the intent, call on your

mapIntent.resolveActivity[packageManager]?.let { ... }

8 object. If the result is non-null, there is at least one app that can handle the intent and it's safe to call . If the result is

val gmmIntentUri = Uri.parse["geo:37.7749,-122.4194"] val mapIntent = Intent[Intent.ACTION_VIEW, gmmIntentUri] mapIntent.setPackage["com.google.android.apps.maps"] mapIntent.resolveActivity[packageManager]?.let { startActivity[mapIntent] }

0, you should not use the intent and, if possible, you should disable the feature that invokes the intent.

Java

if [mapIntent.resolveActivity[getPackageManager[]] != null] { ... }

Kotlin

mapIntent.resolveActivity[packageManager]?.let { ... }

For example, to display a map of San Francisco, you can use the following code:

Java

Uri gmmIntentUri = Uri.parse["geo:37.7749,-122.4194"]; Intent mapIntent = new Intent[Intent.ACTION_VIEW, gmmIntentUri]; mapIntent.setPackage["com.google.android.apps.maps"]; if [mapIntent.resolveActivity[getPackageManager[]] != null] { startActivity[mapIntent]; }

Kotlin

val gmmIntentUri = Uri.parse["geo:37.7749,-122.4194"] val mapIntent = Intent[Intent.ACTION_VIEW, gmmIntentUri] mapIntent.setPackage["com.google.android.apps.maps"] mapIntent.resolveActivity[packageManager]?.let { startActivity[mapIntent] }

URL encoded query strings

All strings passed to the Google Maps Intents must be URI encoded. For example, the string "1st & Pike, Seattle" should become

val gmmIntentUri = Uri.parse["geo:37.7749,-122.4194"] val mapIntent = Intent[Intent.ACTION_VIEW, gmmIntentUri] mapIntent.setPackage["com.google.android.apps.maps"] mapIntent.resolveActivity[packageManager]?.let { startActivity[mapIntent] }

1. Spaces in the string can be encoded with %20 or replaced with the plus sign [+].

You can use the

val gmmIntentUri = Uri.parse["geo:37.7749,-122.4194"] val mapIntent = Intent[Intent.ACTION_VIEW, gmmIntentUri] mapIntent.setPackage["com.google.android.apps.maps"] mapIntent.resolveActivity[packageManager]?.let { startActivity[mapIntent] }

2

val gmmIntentUri = Uri.parse["geo:37.7749,-122.4194"] val mapIntent = Intent[Intent.ACTION_VIEW, gmmIntentUri] mapIntent.setPackage["com.google.android.apps.maps"] mapIntent.resolveActivity[packageManager]?.let { startActivity[mapIntent] }

3 method to encode your strings. For example:

Java

Uri gmmIntentUri = Uri.parse["geo:37.7749,-122.4192?q=" + Uri.encode["1st & Pike, Seattle"]];

Kotlin

val gmmIntentUri = Uri.parse["geo:37.7749,-122.4192?q=" + Uri.encode["1st & Pike, Seattle"]]

Displaying a map

Use the

val gmmIntentUri = Uri.parse["geo:37.7749,-122.4194"] val mapIntent = Intent[Intent.ACTION_VIEW, gmmIntentUri] mapIntent.setPackage["com.google.android.apps.maps"] mapIntent.resolveActivity[packageManager]?.let { startActivity[mapIntent] }

4 intent to display a map at a specified location and zoom level.

geo:latitude,longitude?z=zoom

Parameters

  • val gmmIntentUri = Uri.parse["geo:37.7749,-122.4194"] val mapIntent = Intent[Intent.ACTION_VIEW, gmmIntentUri] mapIntent.setPackage["com.google.android.apps.maps"] mapIntent.resolveActivity[packageManager]?.let { startActivity[mapIntent] } 5 and val gmmIntentUri = Uri.parse["geo:37.7749,-122.4194"] val mapIntent = Intent[Intent.ACTION_VIEW, gmmIntentUri] mapIntent.setPackage["com.google.android.apps.maps"] mapIntent.resolveActivity[packageManager]?.let { startActivity[mapIntent] } 6 set the center point of the map.
  • val gmmIntentUri = Uri.parse["geo:37.7749,-122.4194"] val mapIntent = Intent[Intent.ACTION_VIEW, gmmIntentUri] mapIntent.setPackage["com.google.android.apps.maps"] mapIntent.resolveActivity[packageManager]?.let { startActivity[mapIntent] } 7 optionally sets the initial zoom level of the map. Accepted values range from 0 [the whole world] to 21 [individual buildings]. The upper limit can vary depending on the map data available at the selected location.

Examples

Java

// Creates an Intent that will load a map of San Francisco Uri gmmIntentUri = Uri.parse["geo:37.7749,-122.4194"]; Intent mapIntent = new Intent[Intent.ACTION_VIEW, gmmIntentUri]; mapIntent.setPackage["com.google.android.apps.maps"]; startActivity[mapIntent];

Kotlin

// Create a Uri from an intent string. Use the result to create an Intent. val gmmIntentUri = Uri.parse["google.streetview:cbll=46.414382,10.013988"] // Create an Intent from gmmIntentUri. Set the action to ACTION_VIEW val mapIntent = Intent[Intent.ACTION_VIEW, gmmIntentUri] // Make the Intent explicit by setting the Google Maps package mapIntent.setPackage["com.google.android.apps.maps"] // Attempt to start an activity that can handle the Intent startActivity[mapIntent]

0

Searching for a location

Use this intent to display search queries within a specified viewport. When the query has a single result, you can use this intent to display a pin at a particular place or address, such as a landmark, business, geographic feature, or town.

// Create a Uri from an intent string. Use the result to create an Intent. val gmmIntentUri = Uri.parse["google.streetview:cbll=46.414382,10.013988"] // Create an Intent from gmmIntentUri. Set the action to ACTION_VIEW val mapIntent = Intent[Intent.ACTION_VIEW, gmmIntentUri] // Make the Intent explicit by setting the Google Maps package mapIntent.setPackage["com.google.android.apps.maps"] // Attempt to start an activity that can handle the Intent startActivity[mapIntent]

1

Parameters

In addition to the parameters used to display a map, Search supports the following parameters:

  • val gmmIntentUri = Uri.parse["geo:37.7749,-122.4194"] val mapIntent = Intent[Intent.ACTION_VIEW, gmmIntentUri] mapIntent.setPackage["com.google.android.apps.maps"] mapIntent.resolveActivity[packageManager]?.let { startActivity[mapIntent] } 8 defines the place[s] to highlight on the map. The val gmmIntentUri = Uri.parse["geo:37.7749,-122.4194"] val mapIntent = Intent[Intent.ACTION_VIEW, gmmIntentUri] mapIntent.setPackage["com.google.android.apps.maps"] mapIntent.resolveActivity[packageManager]?.let { startActivity[mapIntent] } 8 parameter is required for all Search requests. It accepts a location as either a place name or address. The string should be URL-encoded, so an address such as "City Hall, New York, NY" should be converted to City+Hall,New+York,NY.
  • Uri gmmIntentUri = Uri.parse["geo:37.7749,-122.4192?q=" + Uri.encode["1st & Pike, Seattle"]]; 0 lets you set a custom label at a place identified on the map. The Uri gmmIntentUri = Uri.parse["geo:37.7749,-122.4192?q=" + Uri.encode["1st & Pike, Seattle"]]; 0 must be specified as a String.

Categorical search

If you pass a general search term, Google Maps will attempt to find a location near the lat/lng you specified that matches your criteria. If no location is specified, Google Maps will try to find nearby listings. For example:

Java

// Create a Uri from an intent string. Use the result to create an Intent. val gmmIntentUri = Uri.parse["google.streetview:cbll=46.414382,10.013988"] // Create an Intent from gmmIntentUri. Set the action to ACTION_VIEW val mapIntent = Intent[Intent.ACTION_VIEW, gmmIntentUri] // Make the Intent explicit by setting the Google Maps package mapIntent.setPackage["com.google.android.apps.maps"] // Attempt to start an activity that can handle the Intent startActivity[mapIntent]

2

Kotlin

// Create a Uri from an intent string. Use the result to create an Intent. val gmmIntentUri = Uri.parse["google.streetview:cbll=46.414382,10.013988"] // Create an Intent from gmmIntentUri. Set the action to ACTION_VIEW val mapIntent = Intent[Intent.ACTION_VIEW, gmmIntentUri] // Make the Intent explicit by setting the Google Maps package mapIntent.setPackage["com.google.android.apps.maps"] // Attempt to start an activity that can handle the Intent startActivity[mapIntent]

3

You can further bias the search results by specifying a zoom parameter along with the query string. In the below example, adding a zoom of 10 will attempt to find restaurants at a city level instead of nearby.

Java

// Create a Uri from an intent string. Use the result to create an Intent. val gmmIntentUri = Uri.parse["google.streetview:cbll=46.414382,10.013988"] // Create an Intent from gmmIntentUri. Set the action to ACTION_VIEW val mapIntent = Intent[Intent.ACTION_VIEW, gmmIntentUri] // Make the Intent explicit by setting the Google Maps package mapIntent.setPackage["com.google.android.apps.maps"] // Attempt to start an activity that can handle the Intent startActivity[mapIntent]

4

Kotlin

// Create a Uri from an intent string. Use the result to create an Intent. val gmmIntentUri = Uri.parse["google.streetview:cbll=46.414382,10.013988"] // Create an Intent from gmmIntentUri. Set the action to ACTION_VIEW val mapIntent = Intent[Intent.ACTION_VIEW, gmmIntentUri] // Make the Intent explicit by setting the Google Maps package mapIntent.setPackage["com.google.android.apps.maps"] // Attempt to start an activity that can handle the Intent startActivity[mapIntent]

5

Location search

Searching for a specific address will display a pin at that location.

Java

// Create a Uri from an intent string. Use the result to create an Intent. val gmmIntentUri = Uri.parse["google.streetview:cbll=46.414382,10.013988"] // Create an Intent from gmmIntentUri. Set the action to ACTION_VIEW val mapIntent = Intent[Intent.ACTION_VIEW, gmmIntentUri] // Make the Intent explicit by setting the Google Maps package mapIntent.setPackage["com.google.android.apps.maps"] // Attempt to start an activity that can handle the Intent startActivity[mapIntent]

6

Kotlin

// Create a Uri from an intent string. Use the result to create an Intent. val gmmIntentUri = Uri.parse["google.streetview:cbll=46.414382,10.013988"] // Create an Intent from gmmIntentUri. Set the action to ACTION_VIEW val mapIntent = Intent[Intent.ACTION_VIEW, gmmIntentUri] // Make the Intent explicit by setting the Google Maps package mapIntent.setPackage["com.google.android.apps.maps"] // Attempt to start an activity that can handle the Intent startActivity[mapIntent]

7

The above example sets a lat/lng of

Uri gmmIntentUri = Uri.parse["geo:37.7749,-122.4192?q=" + Uri.encode["1st & Pike, Seattle"]];

2,

Uri gmmIntentUri = Uri.parse["geo:37.7749,-122.4192?q=" + Uri.encode["1st & Pike, Seattle"]];

2, but passes an address as a query string. When searching for a very specific location, the latitude and longitude are not required. However, if you do not know the exact address, you can attempt to bias the results of the search by specifying a coordinate. For example, performing an address search for 'Main Street' will return too many results.

Java

// Create a Uri from an intent string. Use the result to create an Intent. val gmmIntentUri = Uri.parse["google.streetview:cbll=46.414382,10.013988"] // Create an Intent from gmmIntentUri. Set the action to ACTION_VIEW val mapIntent = Intent[Intent.ACTION_VIEW, gmmIntentUri] // Make the Intent explicit by setting the Google Maps package mapIntent.setPackage["com.google.android.apps.maps"] // Attempt to start an activity that can handle the Intent startActivity[mapIntent]

8

Kotlin

// Create a Uri from an intent string. Use the result to create an Intent. val gmmIntentUri = Uri.parse["google.streetview:cbll=46.414382,10.013988"] // Create an Intent from gmmIntentUri. Set the action to ACTION_VIEW val mapIntent = Intent[Intent.ACTION_VIEW, gmmIntentUri] // Make the Intent explicit by setting the Google Maps package mapIntent.setPackage["com.google.android.apps.maps"] // Attempt to start an activity that can handle the Intent startActivity[mapIntent]

9

Adding a lat/lng to the intent URI will bias the results towards a particular area:

Java

if [mapIntent.resolveActivity[getPackageManager[]] != null] { ... }

0

Kotlin

if [mapIntent.resolveActivity[getPackageManager[]] != null] { ... }

1

When you know your search will return a single value, you may wish to pass an optional label. Labels must be specified as a String, and will appear under the map marker. Note that labels are only available when

val gmmIntentUri = Uri.parse["geo:37.7749,-122.4194"] val mapIntent = Intent[Intent.ACTION_VIEW, gmmIntentUri] mapIntent.setPackage["com.google.android.apps.maps"] mapIntent.resolveActivity[packageManager]?.let { startActivity[mapIntent] }

8 is specified as a lat/lng coordinate.

Java

if [mapIntent.resolveActivity[getPackageManager[]] != null] { ... }

2

Kotlin

if [mapIntent.resolveActivity[getPackageManager[]] != null] { ... }

3

As an alternative to a street address or a latitude/longitude, you can display a pin at a known location using a plus code.

Java

if [mapIntent.resolveActivity[getPackageManager[]] != null] { ... }

4

Kotlin

if [mapIntent.resolveActivity[getPackageManager[]] != null] { ... }

5

Launching turn-by-turn navigation

Use this intent to launch Google Maps navigation with turn-by-turn directions to the address or coordinate specified. Directions are always given from the user's current location.

if [mapIntent.resolveActivity[getPackageManager[]] != null] { ... }

6

Parameters

  • val gmmIntentUri = Uri.parse["geo:37.7749,-122.4194"] val mapIntent = Intent[Intent.ACTION_VIEW, gmmIntentUri] mapIntent.setPackage["com.google.android.apps.maps"] mapIntent.resolveActivity[packageManager]?.let { startActivity[mapIntent] } 8: Sets the end point for navigation searches. This value can be latitude, longitude coordinates or a query formatted address. If it is a query string that returns more than one result, the first result will be selected.
  • Uri gmmIntentUri =

    Uri.parse["geo:37.7749,-122.4192?q=" + Uri.encode["1st & Pike, Seattle"]]; 6 sets the method of transportation. Mode is optional, and can be set to one of:

    • Uri gmmIntentUri =
       Uri.parse["geo:37.7749,-122.4192?q=" + Uri.encode["1st & Pike, Seattle"]];  
      
      7 for driving [default]
    • Uri gmmIntentUri =
       Uri.parse["geo:37.7749,-122.4192?q=" + Uri.encode["1st & Pike, Seattle"]];  
      
      8 for bicycling
    • Uri gmmIntentUri =
       Uri.parse["geo:37.7749,-122.4192?q=" + Uri.encode["1st & Pike, Seattle"]];  
      
      9 for two-wheeler
    • val gmmIntentUri =
       Uri.parse["geo:37.7749,-122.4192?q=" + Uri.encode["1st & Pike, Seattle"]]  
      
      0 for walking
  • val gmmIntentUri =

    Uri.parse["geo:37.7749,-122.4192?q=" + Uri.encode["1st & Pike, Seattle"]] 1 sets features the route should try to avoid. Avoid is optional and can be set to one or more of:

    • val gmmIntentUri =
       Uri.parse["geo:37.7749,-122.4192?q=" + Uri.encode["1st & Pike, Seattle"]]  
      
      2 for tolls
    • val gmmIntentUri =
       Uri.parse["geo:37.7749,-122.4192?q=" + Uri.encode["1st & Pike, Seattle"]]  
      
      3 for highways
    • val gmmIntentUri =
       Uri.parse["geo:37.7749,-122.4192?q=" + Uri.encode["1st & Pike, Seattle"]]  
      
      4 for ferries

Examples

The below

mapIntent.resolveActivity[packageManager]?.let { ... }

8 will request turn-by-turn navigation to Taronga Zoo, in Sydney Australia:

Java

if [mapIntent.resolveActivity[getPackageManager[]] != null] { ... }

7

Kotlin

if [mapIntent.resolveActivity[getPackageManager[]] != null] { ... }

8

If you prefer not to pay tolls or ride a ferry, you can request routing that tries to avoid those things.

Java

if [mapIntent.resolveActivity[getPackageManager[]] != null] { ... }

9

Kotlin

mapIntent.resolveActivity[packageManager]?.let { ... }

0

If you'd prefer a bit of exercise, you can request bicycling directions instead.

Java

mapIntent.resolveActivity[packageManager]?.let { ... }

1

Kotlin

mapIntent.resolveActivity[packageManager]?.let { ... }

2

If you'd prefer taking a motorized two-wheeler, you can request that the directions include narrow roads and trails unavailable to cars. The below

val gmmIntentUri = Uri.parse["geo:37.7749,-122.4192?q=" + Uri.encode["1st & Pike, Seattle"]]

6 returns a route in India.

Java

mapIntent.resolveActivity[packageManager]?.let { ... }

3

Kotlin

mapIntent.resolveActivity[packageManager]?.let { ... }

4

Displaying a Street View panorama

Use the

val gmmIntentUri = Uri.parse["geo:37.7749,-122.4192?q=" + Uri.encode["1st & Pike, Seattle"]]

7 intent to launch Google Street View. Google Street View provides panoramic views from designated locations throughout its . User contributed Photospheres, and Street View special collections are also available.

mapIntent.resolveActivity[packageManager]?.let { ... }

5

Parameters

All

val gmmIntentUri = Uri.parse["geo:37.7749,-122.4192?q=" + Uri.encode["1st & Pike, Seattle"]]

7 URIs must include either a

val gmmIntentUri = Uri.parse["geo:37.7749,-122.4192?q=" + Uri.encode["1st & Pike, Seattle"]]

9 or a

geo:latitude,longitude?z=zoom

0 parameter.

  • val gmmIntentUri = Uri.parse["geo:37.7749,-122.4192?q=" + Uri.encode["1st & Pike, Seattle"]] 9 accepts a latitude and a longitude as comma-separated values [ geo:latitude,longitude?z=zoom 2]. The app will display the panorama photographed closest to this location. Because Street View imagery is periodically refreshed, and photographs may be taken from slightly different positions each time, it's possible that your location may snap to a different panorama when imagery is updated.
  • geo:latitude,longitude?z=zoom 0 is a specific panorama ID. Google Maps will use the panorama ID if both a geo:latitude,longitude?z=zoom 0 and a val gmmIntentUri = Uri.parse["geo:37.7749,-122.4192?q=" + Uri.encode["1st & Pike, Seattle"]] 9 are specified. Panorama IDs are available to an Android app from the geo:latitude,longitude?z=zoom 6 object.

geo:latitude,longitude?z=zoom

7 is an optional parameter that adjusts the initial orientation of the camera. The

geo:latitude,longitude?z=zoom

7 parameter takes 5 comma-separated values, all of which are optional. The most significant values are the second, fourth and fifth which set the bearing, zoom and tilt respectively. The first and third values are not supported, and should be set to

Uri gmmIntentUri = Uri.parse["geo:37.7749,-122.4192?q=" + Uri.encode["1st & Pike, Seattle"]];

2.

Chủ Đề