gpt4 book ai didi

android - 自动显示谷歌地图标记的工具栏

转载 作者:IT老高 更新时间:2023-10-28 22:09:12 26 4
gpt4 key购买 nike

我有一个标记,当我打开 map 时,它会显示标记。当我点击它时,它会显示标题和一个工具栏,其中包括 map 右下角的两个按钮,这让我可以启动导航到标记或在谷歌地图中显示它的 Intent 。我希望在打开 map 时自动显示这些,而不是让用户点击标记。

像这样:-) ... enter image description here我似乎无法弄清楚如何做到这一点。

我试过了:

// create marker
MarkerOptions marker = new MarkerOptions().position(
new LatLng(latitude, longitude)).title("title");

// adding marker
googleMap.addMarker(marker).showInfoWindow();
googleMap.getUiSettings().setMapToolbarEnabled(true);

但这只是在右上角显示标记标题和一个按钮以转到我的位置,而不是右下角的两个工具栏 Intent 按钮。

像这样:-( ... enter image description here我有点卡住了任何想法?

最佳答案

单击标记时出现的叠加层会在现场隐式创建和销毁。您不能手动显示(目前)。

如果您必须拥有此功能,您可以使用 2 个 ImageViews 在 map 上创建叠加层,并在单击它们时调用相应的 Intent :

// Directions
Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(
"http://maps.google.com/maps?saddr=51.5, 0.125&daddr=51.5, 0.15"));
startActivity(intent);
// Default google map
Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(
"http://maps.google.com/maps?q=loc:51.5, 0.125"));
startActivity(intent);

注意:你需要根据Marker的getPosition()和用户的位置来改变坐标。

现在要隐藏默认叠加层,您只需在 OnMarkerClickListener 中返回 true。尽管您将失去在标记上显示 InfoWindows 和中心摄像头的能力,但您可以简单地模仿:

mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
marker.showInfoWindow();
mMap.animateCamera(CameraUpdateFactory.newLatLng(marker.getPosition()));
return true;
}
});

关于android - 自动显示谷歌地图标记的工具栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27690711/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com