我的申请有问题。我想在代码位置中定义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);
有谁知道如何处理这种情况?我尝试使用手机和虚拟设备,但两者都没有。
答案 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();