Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无互联网的Android地图(离线)_Android_Android Widget - Fatal编程技术网

无互联网的Android地图(离线)

无互联网的Android地图(离线),android,android-widget,Android,Android Widget,我希望这不是一个天真的问题,但有没有办法让android应用程序使用地图而不使用谷歌或互联网(而不是谷歌api)?地图可以从某处下载并在代码中离线合并?我的想法就像拥有街道地图一样,但在这种情况下,您的手中没有。谢谢您使用谷歌地图: GoogleMap应用程序支持预缓存,这正是您想要的 现在坏消息是:这不仅不可能通过API实现,而且还会破坏服务条款 详情如下: TOS第8节: 许可证限制。除非条款明确允许,或除非您事先收到谷歌(或特定内容提供商,如适用)的书面授权,否则第7节授予您的许可证以您

我希望这不是一个天真的问题,但有没有办法让android应用程序使用地图而不使用谷歌或互联网(而不是谷歌api)?地图可以从某处下载并在代码中离线合并?我的想法就像拥有街道地图一样,但在这种情况下,您的手中没有。谢谢您使用谷歌地图:

GoogleMap应用程序支持预缓存,这正是您想要的

现在坏消息是:这不仅不可能通过API实现,而且还会破坏服务条款

详情如下:

TOS第8节:

许可证限制。除非条款明确允许,或除非您事先收到谷歌(或特定内容提供商,如适用)的书面授权,否则第7节授予您的许可证以您遵守第8节中的所有限制为条件。根据第8条规定,您不得(也不得允许任何其他人):

8.2。复制、翻译、修改、创建衍生作品、预取、缓存、或公开显示任何内容或其任何部分

(重点由我补充)

使用其他地图服务:

不知道…

看看


它使用openstreetmap而不是Google地图,并允许离线地图。该API与googlemaps API几乎相同。如果您熟悉googlemaps api,那么切换应该非常容易。

您可能希望尝试OpenStreetMap而不是googlemaps。虽然你不会有那么丰富的数据集,但自由和开放源码软件仍然可以用它做很多事情

OSM Android

我对离线缓存的研究还不多,但正如你所看到的,很多应用程序都是使用他们的工具包构建的。

你可以看看并使用它们生成自己的分幅。
对于移动应用,我建议查看-裁剪不同的部分(边界框)-以制作更小尺寸的包。它很好地解释了如何做到这一点。

您可能遇到的唯一问题是生成自己的地图文件,这并不像应该的那么简单:)