0

我已经做了一个多星期了。我试过在我的应用程序中设置谷歌地图活动,但没有成功。我还看到您可以从您的应用程序中调用 Google 地图应用程序。通过使用 Onclicklistener。如何使用按钮从我的应用程序中打开 Google 地图应用程序?这是我正在使用的代码...

import com.google.android.maps.GeoPoint;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Store10 extends Activity {

    Context context;
    GeoPoint geo;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.store10);

        Button num10 = (Button) findViewById(R.id.pNumber10);
        Button nav10 = (Button) findViewById(R.id.Map10);

        num10.setOnClickListener(new View.OnClickListener() {

            public void onClick(View view) {
                // TODO Auto-generated method stub
                Intent myIntent = new Intent(view.getContext() ,Num10.class);
                startActivityForResult(myIntent, 0);
            }
        });
        nav10.setOnClickListener(new View.OnClickListener() {

            public void onClick(View view) {
                // TODO Auto-generated method stub
                String uri = String.format("geo:%f,%f",40,325874,76,002211);
                Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
                context.startActivity(intent);
            }
        });
    }

}

这是我正在尝试设置的 Onclicklistener

nav10.setOnClickListener(new View.OnClickListener() {

            public void onClick(View view) {
                // TODO Auto-generated method stub
                String uri = String.format("geo:%f,%f",40,325874,76,002211);
                Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
                context.startActivity(intent);
            }
        });
4

5 回答 5

5

你可以试试这行代码...

String uri = "http://maps.google.com/maps?saddr=" + "9982878"+","+"76285774"+"&daddr="+"9992084"+","+"76286455";
            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-05-03T09:50:55.747 回答
3

更改 Uri 以设置缩放级别

uri = Uri.parse("geo:37.827500,-122.481670"?z=10"); 

试试这个来添加标记:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:<lat>,<long>?q=<lat>,<long>(Label+Name)"));
startActivity(intent);

如果您不想要标签,您可以省略 (Label+Name),它会根据最近的街道或它认为相关的其他事物随机选择一个。

于 2012-05-03T07:37:56.553 回答
3

我就是这样做的...

Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(
"geo:"    + marker.getPosition().latitude +
","       + marker.getPosition().longitude +
"?q="     + marker.getPosition().latitude +
","       + marker.getPosition().longitude +                                   
"("       + marker.getTitle() + ")"));

intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
startActivity(intent);
于 2013-09-24T15:15:18.040 回答
2

//---显示地图按钮---

 b3 = (Button) findViewById(R.id.btn_showMap);
 b3.setOnClickListener(new OnClickListener()
 {
 public void onClick(View arg0){
 Intent i = new
 Intent(android.content.Intent.ACTION_VIEW,
 Uri.parse("geo:37.827500,-122.481670"));
 startActivity(i);
 }
 });
于 2012-05-03T07:14:10.693 回答
1

在此处查看此 URL 可能对您有帮助..

Uri uri = Uri.parse("geo:13.070984,80.253639");
Intent in = new Intent(Intent.ACTION_VIEW, uri);
startActivity(in);
于 2012-05-03T07:21:39.400 回答