在 android 中扩展 google map api v2 的离线矢量 TileProvider
Posted
技术标签:
【中文标题】在 android 中扩展 google map api v2 的离线矢量 TileProvider【英文标题】:offline vector TileProvider that extends google map api v2 in android 【发布时间】:2015-01-31 14:46:47 【问题描述】:我知道有一些 android 地图库可以从 OSM 渲染基于矢量的图块(*.map 等)。但我没有找到任何只有引擎以图形方式呈现矢量切片并将其作为 TileProvider 返回到适用于 Android 的 Google maps api v2 的库。
对于离线光栅图块:我知道如何处理光栅图块 (osmdroid jpg 文件)。好的和工作的例子: TileProvider using local tiles.
有人知道在哪里可以找到矢量图块吗?
亲切的问候, 托尼
【问题讨论】:
您能更具体地说明您感兴趣的格式吗? OSM 格式列表在这里:wiki.openstreetmap.org/wiki/OSM_file_formats @KevinKrumwiede:我其实不在乎哪个。如果需要指定,我会使用可以在网络上找到数据并按国家/地区排序的数据,以便在更多统计数据涉及特定区域时进行更新。如果你做了一些研究,你的经验和知识将不胜感激。我真的很喜欢“我的地图”功能,但它们有自己的格式 *.mwm。 Mapsforge 使用 *.map 格式并有按国家排序的地图下载服务器 (download.mapsforge.org/maps)。 【参考方案1】:如果您可以找到一个库来渲染矢量切片,或者找到足够的格式文档来编写您自己的渲染器,那么将其转换为TileProvider
非常容易。 Tile#data
需要是supported image formats 之一中的压缩图像。获得Bitmap
后,使用Bitmap#compress(...)
将数据写入ByteArrayOutputStream
,然后使用ByteArrayOutputStream#toByteArray()
获取Tile
的数据。
【讨论】:
嗨,我知道应该如何处理 TileProvider 类,但正如你所说,我需要一些矢量切片的渲染代码。如果您或其他人可以提供一些指示,将不胜感激! @toni 我建议你搜索一个可以渲染你想要使用的矢量格式的现有库。如果你找不到,或者你无法弄清楚你找到的信息,那么就提出一个关于渲染该矢量格式的新问题。这真的与谷歌地图无关。以上是关于在 android 中扩展 google map api v2 的离线矢量 TileProvider的主要内容,如果未能解决你的问题,请参考以下文章
无法通过 gradle 导入 com.google.maps.android:android-maps-utils
打开eclipse后应该怎样安装 Google map API ?在Android sDK Manager列表中没有找到Google map API 这应该
com.google.android.maps 在 Android Studio 中不存在
android google map supportmap片段无法在片段中初始化