繁体   English   中英

是否可以在Android Google Maps API v2中使用街景视图上的标记?

[英]Is it possible to use markers on street view in android Google maps API v2?

我在我的应用程序中实现了街景,我希望在街景中看到地图标记,这可能吗?

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

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

通过全景。 setOnStreetViewPanoramaCameraChangeListener (..)和全景图。 setOnStreetViewPanoramaCameraChangeListener (..)到表面视图以更新摄像机位置位置

然后计算从相机位置标记的距离方位和从你的标记。

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

将这些位图保存到HashMap以避免多次加载相同的位图。 这将使您的绘制线程运行得更快。 稍后您可能希望从在线来源加载标记的图标。

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

不要忘记将标记屏幕投影左上角的底部放置保存在HashMap中以实现单击标记。

然后,您将要使它们可以点击标记。

在SurfaceView中覆盖onTouchEvent (..)。

在某些字段中保存最新动作事件的位置,然后返回false以将触摸事件传递给基础StreetView。

实现全景。 上层的setOnStreetViewPanoramaClickListener (..) - 将click事件传递给SurfaceView,您将从保存的字段中知道点击的x / y位置。

循环浏览标记'已保存的屏幕位置HashMap以了解是否真的点击了某个标记,如果是 - 将该事件返回到上层的最终侦听器,您将知道何时单击标记

查看视频 ,了解我的项目结果如何 - 我花了3天时间实现此功能[android]街景自定义标记

我不能在这里提供代码示例,但可以随意提问

如今Android Google maps API v2无法添加标记,此选项仅适用于iOS。

街景视图中的标记 https://developers.google.com/maps/documentation/ios/streetview#markers_within_street_view

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM