概述

openstreetmap(以下简称OSM)只是一种免费开源、可编辑的基于开放数据库许可证使用协议的地图数据.
主体是提供了一个API能够从OpenStreetMap数据库获取原始地理数据并将其保存到OpenStreetMap数据库中
对于其具体条款可以查看:https://www.openstreetmap.org/copyright
osm并不提供任何具体的应用软件,www.openstreetmap.org是一个使用其数据实现的简单的网页版地图.
有很多基于osm数据的软件,比如百度地图国外部分是使用的osm的数据,之前很火的AR游戏Pokémon Go也是基于osm.
https://wiki.openstreetmap.org/wiki/List_of_OSM-based_services中可以查看基于OSM的所有服务.

在Android系统上使用openstreetmap的方案

1.使用浏览器或WebView访问www.openstreetmap.org

功能与电脑上浏览器打开此网页的功能一样,加载地图的速度较慢,带有路径规划功能,无语音提示,显示我的位置等.
体验较差,要集成到设备中很容易实现.

2.依赖osmdroid进行app开发

osmdroid是Android的osm开发库,代码协议Apache License 2.0
可以依靠该类库进行android app开发并进行商业使用.
该库的文档全部是英文文档且不详细,国内没有什么案例和资料,一定时间应该可以实现简单的地图查看和当前位置功能.
要实现路径规划和语音导航等功能还需要更多时间进行复杂的开发.
体验一般,开发周期无法估计,技术难度很高.

3.使用依赖osm服务的第三方应用

基于OSM服务的应用一般是采用离线地图形式,将地图文件下载到设备中,之后支持在线更新
https://wiki.openstreetmap.org/wiki/Android 列出了基本所有类型的基于osm的android应用.

基于OSM服务的地图,以其中的OsmAnd和MAPS.ME为例:

MAP.ME

5000w+下载次数,111万条评价4.6分,官网:https://maps.me/
支持无限免费下载离线地图,带有一定的地图内广告,关闭广告需要3.89美元/年
被允许将MAPS.ME服务仅用于个人非商业用途,具体条款查看:http://legal.my.com/us/maps/tou/
宣传的是全球范围都支持,支持质量未注明.
apk文件只能在Google play和https://maps.me/apk/下载到,地图资源平均一个州100M左右.

OsmAnd

500w+下载次数,6万条评价4.2分,官网:https://osmand.net/
免费版支持离线下载7次地图,无限下载需要9.99美元.
只能将服务用于私人和个人目的,不得在商业上使用该服务,未经OsmAnd BV事先书面同意,不得将其集成到自己的服务中.
具体条款查看:https://osmand.net/help-online/terms-of-use
地图覆盖范围质量:

  • Western Europe: ****
  • Eastern Europe: ***
  • Russia: ***
  • North America: ***
  • South America: **
  • Asia: **
  • Japan & Korea: ***
  • Middle East: **
  • Africa: **
  • Antarctica: *

一些其他地图在Google play的下载次数和评价

  • google map: 超过50亿次下载,1084w条评价4.3分
  • 百度地图: 超过100w次下载 1w条评价3.6分
  • 高德地图: 超过100w次下载 1w条评价3.7分
  • 基于OSM服务的也是开源代码的Navit,50w次下载,2400条评价2.9分

4.使用第三方依赖osm开发的应用的开源代码编译

部分基于osm服务的应用代码是开源的,其中包括OsmAnd和map.me

代码编译较复杂,完整内容包含多种类型的编程语音和技术内容,编译完成后不包含osm地图数据,
地图数据应该是需要自己从osm数据库(https://planet.openstreetmap.org/)或对应app的服务器获取.
获取原始地图数据后自己整理后搭建自己的osm服务器
完整梳理出来也需要较多投入,需要的时间也不好估计.