地图意图不显示指定的位置

时间:2017-12-26 13:08:03

标签: android google-maps


我的申请有问题。我想在代码位置中定义Google地图,因此我将数据设置为意图,但是我的位置始终打开地图(不是代码中指定的地图)。

以下是代码:

String addressString = "1600 Amphitheatre Parkway, CA";

Uri locationUri = new Uri.Builder();
        .scheme("geo")
        .path("0,0")
        .query(addressString);
        .build();

Intent mapIntent = new Intent(Intent.ACTION_VIEW, locationUri);
mapIntent.setPackage("com.google.android.apps.maps");

if(intent.resolveActivity(getPackageManager()) != null)
    startActivity(mapIntent);


有谁知道如何处理这种情况?我尝试使用手机和虚拟设备,但两者都没有。

2 个答案:

答案 0 :(得分:1)

以这种方式使用它以纬度和经度打开:

double lat = YOUR_LATITUDE;
double lng = YOUR_LONGITUDE;
String placeLabel = YOUR_PLACE_LABEL;
String uri = String.format(Locale.ENGLISH, "geo:%f,%f?q=%f,%f(%s)", lat, lng, lat, lng, placeLabel);
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
startActivity(intent);

如果要打开包含地址的地图,请将de uri替换为:

geo:0,0?q=my+street+address

答案 1 :(得分:1)

query(addressString)更改为appendQueryParameter("q", addressString),您将获得所需内容:

Uri locationUri = new Uri.Builder()
        .scheme("geo")
        .path("0,0")
        .appendQueryParameter("q", addressString)
        .build();