2016-05-07 45 views
0

我想要谷歌地圖縮放到正在使用的設備的位置。谷歌地圖意圖放大到設備的位置

谷歌地圖是從我的應用程序通過意圖代碼下面啓動。

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欲知更多信息。