开源地图openstreetmap相关资料
Comment概述
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
OsmAnd:https://github.com/osmandapp/Osmand
代码主要是GPLv3,其中一些第三方库和资源是Apache License 2.0
例外:- 使用OsmAnd GPLv3代码将应用程序发布到Google Play,亚马逊市场或Apple Store的操作应得到书面许可
- 应用程序中的所有可视元素(例如图标,横幅等)均受CC BY-NC-ND 2.0许可证的保护
- 具体查看:https://osmand.net/help-online#can_i_code中的OsmAnd licence and rules of use
MAP.ME:https://github.com/mapsme/omim
代码主要是Apache v2.0
代码编译较复杂,完整内容包含多种类型的编程语音和技术内容,编译完成后不包含osm地图数据,
地图数据应该是需要自己从osm数据库(https://planet.openstreetmap.org/)或对应app的服务器获取.
获取原始地图数据后自己整理后搭建自己的osm服务器
完整梳理出来也需要较多投入,需要的时间也不好估计.