2016-05-07 4 views
0

Я пытаюсь получить карты Google для увеличения до местоположения используемого устройства.google maps намерение масштабирования до местоположения устройства

Карты google запускаются из моего приложения с помощью кода ниже.

button_bakery = (Button) findViewById(R.id.Breakfast_bakery); 
    button_bakery.setOnClickListener(
      new View.OnClickListener() { 
       @Override 
       public void onClick(View views) { 
        Button b = button_bakery; 
        String buttonText = b.getText().toString(); 

        // Search for restaurants nearby 
        Uri gmmIntentUri = Uri.parse("geo:0,0?q=" + buttonText); 
        Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri); 
        mapIntent.setPackage("com.google.android.apps.maps"); 
        startActivity(mapIntent); 
       } 
      } 
    ); 

однако это загружает местоположение в качестве последнего местоположения, установленного устройством при использовании этого приложения. Есть ли способ установить его для увеличения до текущего местоположения устройства до завершения поиска?

Заранее благодарен!

ответ

1

Следуя этому documentation, вы можете использовать намерение geo: для отображения уровня масштабирования, который вы хотите.

geo:latitude,longitude?z=zoom 

Параметр z устанавливает начальный уровень масштабирования карты. Принимаемые значения варьируются от 0 (весь мир) до 21 (отдельные здания).

Вот пример кода, который использует уровень масштабирования, равный 10 (z = 10), который позволит найти ресторан на уровне города.

Uri gmmIntentUri = Uri.parse("geo:37.7749,-122.4194?z=10&q=restaurants"); 
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri); 
mapIntent.setPackage("com.google.android.apps.maps"); 
startActivity(mapIntent); 

Также проверьте это SO question для получения дополнительной информации.

Смежные вопросы