gpt4 book ai didi

android - 是否可以在 android Google maps API v2 的街景 View 中使用标记?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:47:51 24 4
gpt4 key购买 nike

我在我的应用程序中实现了街景 View ,我想在街景 View 中查看 map 标记,这可能吗?

最佳答案

可以通过自定义实现向 Android 中的 StreetView 添加标记。

你应该在你的StreetView上放置一个透明的SurfaceView

传递全景图。setOnStreetViewPanoramaCameraChangeListener(..) 和panorama.setOnStreetViewPanoramaCameraChangeListener(..) 到您的表面 View 以更新相机位置位置

然后计算从您的相机位置到标记的距离,以及从您到标记的方位角

最后计算这些值到屏幕的投影 - 从表面 View 获取 View 高度、 View 宽度等,并将标记的位图绘制到表面 View 的位图 Canvas

将这些位图 保存到一个 HashMap 中以避免多次加载相同的位图。这将使您的绘图线程运行得更快。稍后您可能想要从在线资源加载标记的图标。

仍然会有一些延迟,标记会有点颤抖,所以要平滑它们的放置。

不要忘记将标记屏幕投影左上右下位置保存在 HashMap 中以实现对标记的点击。

然后您需要将它们设为可点击的标记。

覆盖 SurfaceView 中的 onTouchEvent( .. )。

在某个字段中保存来自最新运动事件的位置,然后返回false以将触摸事件传递给底层街景。

在上层实现panorama.setOnStreetViewPanoramaClickListener ( .. ) - 将点击事件传递给SurfaceView,你就会知道你的点击的x/y 已保存字段中的位置。

遍历你的标记保存的屏幕位置 HashMap 以了解某个标记是否被真正点击,如果是 - 返回该事件到上层的最终监听器,您将知道何时点击了标记

查看视频,了解我的项目的结果 - 我花了 3 天时间来实现此功能 [android] street view custom marker

我不能在这里提供代码示例,但可以自由询问

关于android - 是否可以在 android Google maps API v2 的街景 View 中使用标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25879529/

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