我正在开发自定义地图,这就是我放置位置的方式:
markers.add(new MarkerOptions().position(new LatLng(49.788238, 73.1359273)).title("KFC"));
我只显示标记和名称。如果用户想获得更多信息,他应该使用此按钮在谷歌地图上打开它图片:如何打开谷歌地图
我希望用户看到整个信息图像:我希望
但用户看到的图片:实际结果
我能以某种方式设置标记的完整链接吗。或者我可以在第一张图片上点击这个按钮吗。
UPDATE我什么都没做,只是添加了标记,当我点击这个标记时,我看到两个按钮不是我添加的。我的班级
我的目标是看到谷歌地图上的确切位置,当我点击按钮从第一个图像
更新2我找到了可以打开/关闭的按钮
mMap.getUiSettings().setMapToolbarEnabled
我真的需要这些按钮,我可以处理点击这些按钮,或者我可以把完整的URL放在标记的确切位置吗?
当你在打开谷歌地图的意图中传递坐标时,你不会得到地点的详细信息。如果您也想获得地点的详细信息(,如(,则需要传递地点的名称或place_id。
https://www.google.com/maps/search/?api=1&query=centurylink+field.
资料来源:谷歌地图API
将上面的查询放入您的意向Uri中,会在世纪链接字段的谷歌地图中产生标记位置和位置详细信息。您可以在查询中输入所需的地名并获得结果。
有关详细信息,请映射URL。
编码快乐!
这里我们设置监听器来执行我们想要的
this.map.setOnMarkerClickListener(marker -> {
String uri = linkMap.get(marker);//get your link
View openInGoogleButton = findOpenInGoogleButton(root);
if (uri == null || openInGoogleButton == null) return false;
openInGoogleButton.setOnClickListener(view -> {
final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
intent.setPackage("com.google.android.apps.maps");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
fragmentActivity.startActivity(intent);
});
return false;
});
在谷歌工具栏按钮中查找打开的方法
private View findOpenInGoogleButton(View v) {
View openInGoogleButton = null;
if (v instanceof ViewGroup) {
ViewGroup vg = (ViewGroup) v;
for (int i = 0; i < vg.getChildCount(); i++) {
openInGoogleButton = findOpenInGoogleButton(vg.getChildAt(i));
if (openInGoogleButton != null) {
break;
}
}
} else if (v.getTag() != null
&& "GoogleMapOpenGmmButton".equalsIgnoreCase(v.getTag().toString())) {
openInGoogleButton = v;
}
return openInGoogleButton;
}