在我的应用程序中,我想打开带有指定位置的Google地图以及标记及其标签。我想使用“意图”而不是“谷歌地图”和“标记”类来实现。我正在使用以下代码:
post_url.setOnClickListener({
val intent=Intent(Intent.ACTION_VIEW)
intent.data = Uri.parse("https://www.google.com/maps/place/University+of+Oxford/@51.7548164,-1.2565555,17z/data=!4m12!1m6!3m5!1s0x4876c6a9ef8c485b:0xd2ff1883a001afed!2sUniversity+of+Oxford!8m2!3d51.7548164!4d-1.2543668!3m4!1s0x4876c6a9ef8c485b:0xd2ff1883a001afed!8m2!3d51.7548164!4d-1.2543668")
startActivity(intent)
})
它指向提供的位置,但未显示标记。我还尝试了以下代码:
post_url.setOnClickListener({
val intent=Intent(Intent.ACTION_VIEW)
intent.data = Uri.parse("geo:0,0?q=51.7548164,-1.2565555(Oxford University)")
startActivity(intent)
})
在第二种方法中,标记可见,但未显示标签。文本“ Oxford university”写在地图的底部,带有信息。但是我想用标记显示。请看下图了解我想要的。
答案 0 :(得分:0)
尝试一下:
String address = "http://maps.google.com/maps?q="+ LATITUDE +"," + LONGITUDE +"("+ YOUR-LABEL-HERE + ")&iwloc=A&hl=es";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(address));
startActivity(intent);
请将其拉长并贴上标签。
另一个答案
Uri gUri = Uri.parse("geo:0,0?q=YOUR_LAT,YOUR_LONG(YOUR_LABEL_HERE)");
Intent intent = new Intent(Intent.ACTION_VIEW, gUri);
startActivity(intent);
答案 1 :(得分:0)
也许您可以尝试使用意图启动Google地图的其他选项。
Double myLatitude = 51.7548164;
Double myLongitude = -1.2565555;
String labelLocation = "Oxford university";
1。
String urlAddress = "http://maps.google.com/maps?q="+ myLatitude +"," + myLongitude +"("+ labelLocation + ")&iwloc=A&hl=es";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(urlAddress));
startActivity(intent);
2。
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:<" + myLatitude + ">,<" + myLongitude + ">?q=<" + myLatitude + ">,<" + myLongitude + ">(" + labelLocation + ")"));
startActivity(intent);
3。
String urlAddress = "http://maps.googleapis.com/maps/api/streetview?size=500x500&location=" + myLatitude + "," + myLongitude + "&fov=90&heading=235&pitch=10&sensor=false";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(urlAddress));
startActivity(intent);
OR
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:<lat>,<long>?q=<lat>,<long>(Label+Name)"));
startActivity(intent);