如何使用给定纬度和经度的标记/叠加项目启动地图意图?

时间:2012-02-13 07:14:49

标签: android android-intent android-maps

我有经纬度,我想打开以此为中心的谷歌地图。所以我使用以下代码:

Intent intent = new Intent(android.content.Intent.ACTION_VIEW, 
    Uri.parse("geo:"+lat +","+lng));
startActivity(intent);

但是,这不会在中心放置标记。我想在我开始时放置某种标记(并且可选择某种名称)。知道如何实现这一目标吗?

2 个答案:

答案 0 :(得分:16)

您可以像使用

一样使用它

显示特定位置

Uri uri = Uri.parse("geo:0,0?q=22.99948365856307,72.60040283203125
                                                               (Maninagar)");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

显示到地方之间的路线

Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse("http://maps.google.com/maps?saddr="+23.0094408+","+72.5988541+"&
                            daddr="+22.99948365856307+","+72.60040283203125));
startActivity(intent);

答案 1 :(得分:-2)

您可以简单地将纬度和经度作为额外内容添加到意图中:

Intent intent = new Intent();
    intent.putExtra("latitude", latitude);
    intent.putExtra("longitude", longitude);
    startActivity(intent);

然后从您启动的MapActivity中获取它们:

Intent intent = getIntent();
    double latitude = intent.getDoubleExtra("latitude", 0.0);
    double longitude = intent.getDoubleExtra("longitude", 0.0);

然后您可以将这些值用于您想要的任何内容。希望这会有所帮助。