ITADN
Akylas/alpimaps
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Contributor Covenant GitHub repo stars GitHub License GitHub All Releases GitHub release Small translation badge

安装

Get it on IzzyOnDroidGet it on PlayStore
Get it on GitHub
Download on the App Store

AppVerifier 哈希值

AlpiMaps:

akylas.alpi.maps
39:EA:68:80:92:09:BA:74:AF:24:F0:8E:DE:D1:CB:79:D7:BE:B6:9D:47:3D:99:FF:DF:1A:51:54:0F:A3:54:72

喜欢 Alpi Maps 吗?

请考虑进行小额捐赠以支持该项目。开发一款应用程序,尤其是开源且完全免费的应用程序,需要投入大量的时间和精力。


Alpi Maps 是一款地图应用,帮助你准备并享受你的徒步旅行! 在出发前获取所有你需要的信息,然后在徒步过程中离线享受所有数据。

Alpi Maps 还能帮助你管理 GPS,在需要时获取你的精确位置,同时将电池消耗降至最低。 持续在后台运行 GPS 会显著缩短电池续航时间。

Alpi Maps 的数据基于 OpenStreetMap,这意味着你可以在世界任何地方访问几乎任何内容!

地图功能:

  • 享受超过 50 种不同的地图样式
  • 享受超过 20 种不同的地图叠加样式,如滑雪道
  • 为每种样式启用 / 禁用 HD 地图
  • 结合地图样式与不透明度来创建你自己的地图
  • 享受旋转和倾斜地图
  • 使用你非常喜爱的 Google Maps 手势,如双击和拖动以缩放!
  • 查询地图上任意点的天气数据(需要安装 OSS Weather

默认 Vector AmericanOSM 地图

AlpiMaps 使用 AmericanaOSM 作为默认的 Vector 数据源。起初 Alpimaps 为所有人提供了一个免费的共享实例。 然而我很快就超过了限制,所以我不得不关闭它。 所以现在,我改为分享如何创建你自己的免费实例并在应用中使用它。为此,你需要创建一个 AWS 账户并设置一个实例。 这非常简单,请遵循此 教程,只需要 CloudFormation Template 部分。其中一件重要事项是 BucketNameosmus-tile,你必须确保你的 stack 创建在 us-east-2 区域。只需要 CloudFormation Template 部分。 以确保区域正确。一旦 stack 创建完成,你可以在 stack 的 Resources 部分检查 LambdaFunctionUrl。它应该以 arn:aws:lambda:us-east-2 开头。 一旦你设置好,你将在创建的 stack 的 "Outputs" 部分获得一个 https://SUBDOMAIN.cloudfront.net URL。现在进入 AlpiMaps 设置/ApiKeys,并为 americanaosm 设置该 URL。 然后你可以添加 AmericanaOSM 数据源,它将使用你自己的实例。

提示

在设置你的 AWS 账户时,如果账户创建过程强制你设置信用卡,请不要害怕:

  • 这是你的实例,我和其他任何人都无法访问它。因此你承担的风险很小
  • 在层级限制上设置警报(我就是这样快速发现我的用量在增长的),请遵循此指南

离线地图

AlpiMaps 旨在配合离线数据使用,以便您能够离线访问所有内容。 在 Android 上,预期该数据位于 SDCard 下的 alpimaps_mbtiles 中。 所有数据均可使用 alpimaps_data_generator 生成。但理论上,您应该能够使用通过其他来源获取的 mbtiles 以下是其外观示例 image

  • 顶层数据用于世界地图。其理念是能够在低缩放级别下渲染整个世界。routes 代表徒步/骑行路线。因此,您可以获取全球主要的徒步/骑行道路。
  • 每个子文件夹代表一个区域/国家:
    • france_full.mbtiles:整个法国地图。相当于带有少量更改的 osm 地图(删除了一些内容并添加了其他内容)。所有内容均围绕徒步/骑行
    • etiles 文件:高程/山体阴影数据。为您提供山体阴影、坡度百分比、高程剖面以及任意点的高程
    • contours.mbtiles:为您提供高程等高线
    • routes.mbtiles:为您提供所有级别的徒步/骑行路线
    • vtiles 文件:为您提供带有方向指示的完整路径查询,适用于汽车/行人、骑行等。它还可以像 komoot 一样提供路面状况统计
    • nutigeodb 文件:为您提供地理编码/反向地理编码。您可以离线搜索许多内容。这一项我目前还不完全满意。

如果你使用这些数据,它们将在启动时自动加载并启用大量离线功能:

  • 完整的离线矢量地图,支持 OSM / Outdoor 样式
  • 在地图上查询并绘制点/线/多边形
  • 访问地图上任意点的高程
  • 计算骑行/驾车/步行路线
  • 计算任意路线的高程剖面
  • 计算任意路线的统计剖面,如同 komoot 那样
  • 山体阴影 / 坡度渲染
  • 地理编码
  • 渲染徒步/骑行的矢量路线

GPS 功能:

  • 在地图上跟随你的位置
  • 选择是跟随你的位置,还是仅在需要时查询你的位置,以实现最低的电池消耗
  • 选择 GPS 的精度,以进一步降低电池消耗
  • 访问关于你位置的有用信息,如海拔、朝向、日落、日出...
  • 在任何已计算的行程上跟踪你的位置,以查看你当前所在之处
  • 从地图上的任意点查看你的位置:距离、朝向和海拔
  • 决定你是否希望应用在后台跟踪你
  • 通过地图截图分享你的位置

标记功能:

  • 从地图上的任意点添加标记
  • 查询地址
  • 在列表中管理你的标记,以便离线存储

搜索功能:

  • Alpi Maps 使用 OpenStreetMap 数据库作为其搜索模块。可访问所有地理特征、所有商家、城市以及更多内容!
  • 使用边输入边搜索功能,快速在您的标记或世界任何地方查找内容
  • 然后使用搜索功能查找您当前所在区域的企业、餐厅等

tools

  • 指南针工具,用于查找地图上任意点的方向。
  • 卫星查看器:查看用于查询您 GPS 位置的卫星。有助于理解为何信号不佳
  • 在锁屏上显示的选项:骑行时很有用
  • 强制全亮度选项

Screenshots

| | | | | | |

遇到问题、建议或反馈?

您可以,

语言:Übersetzungsstatus

Übersetzungsstatus

翻译托管在 Weblate.org

构建配置

Nativescript

首先 设置 Nativescript

本项目针对使用 Akylas Fork 进行构建进行了优化。虽然使用主分支也能工作,但最好使用此分支。package.json 定义了对 ../NativeScript/dist/packages/core 的解析,因此请克隆该分支并使用 npm run setup:yarn && npm run ui-mobile-base:build && npm run core:build 进行构建。

Yarn

你需要在此项目中使用 yarn,因为它对某些依赖项使用了 portal: 协议。 请注意,该项目包含一些 yarn link 以便于我进行本地开发。最好是你移除 package.json 中的 resolutions 部分。

dotenv

该应用使用 .env 文件来设置所需的环境变量。.env 未被提交,因为它包含敏感数据。 只需创建一个包含以下内容的 .env 文件:

source .env.ci

然后在终端中“source”该文件,以便导出变量并使其对 nativescript cli 可用。 我在 zsh 中使用 dotenv 插件,它会自动加载 .env 文件。

依赖项

你需要安装一些依赖项。最简单的方法是运行 ./scripts/ci.prepare.sh 脚本。

构建

现在所有设置已完成,并且你已准备好第三方库,你可以实际构建并运行该应用:

  • yarn
  • ns run android --no-hmr --env.devlog(对于 iOS,请替换为 ios...)

这应该在第一个发现的设备或模拟器上运行该应用。