gpt4 book ai didi

android - 在 android 项目中显示 Tilemills mbtiles 的代码

转载 作者:行者123 更新时间:2023-11-30 02:42:32 25 4
gpt4 key购买 nike

我正在开发一个 android 项目,我必须在其中使用 mbtiles 显示离线 map 。是否有任何教程显示如何在 android 项目中设置 mbtiles。

最佳答案

很抱歉成为 mr.Obvious,但 www.google.com 似乎不是您最好的 friend ...

无论如何,让我们建设性的:

1.) 您可以使用 MapBox SDK。 Here是关于如何使用在线 map 的示例的链接。现在,离线 map 用处不大,但您可以在其中找到 SDK。只需下载它,在那里您还可以找到一个测试应用程序,您可以在其中了解这些人是如何做到的。

我相信一定有更简单的方法来安装这个库,但我必须导入很多新东西才能让它工作。另外,请注意获取最新的库 jar,因为我有 okhttp-urlconnection-2.0.0.jar 并且应用程序在显示 View 时崩溃了。然后我发现我需要 2.1.0 版本的 jar。

2.) 对于离线 map 导入,我找到了这个 link很有帮助,因为它提供了一些代码,减轻了我正确显示 map 的痛苦。如果链接失效,代码说明:

To start create, for example, a method called setupMaboxOffline() in your WearActivity:

public void setupMaboxOffline() {
MapView mapView = (MapView) findViewById(R.id.mapview);
mapView.setZoom(5);
mapView.setCenter(new LatLng(38.8977, -77.0365));
mapView.setTileSource(new MBTilesLayer(this, "control-room-0.2.0.mbtiles"));
}

Then, call it within the WatchViewStub in onCreate(). This stub is used by Android Wear to choose the right layout (round or square) depending on the shape of the watch the user has.

The MapView referenced above looks like this (in both layouts):

<com.mapbox.mapboxsdk.views.MapView
android:id="@+id/mapview
android:layout_width="fill_parent"
android:layout_height="fill_parent" />

如果您需要 xml 中的 mapbox id 属性 this所以问题得到了答案。

基本上,因为我只显示了 map ,所以这很简单......您需要 .mbtiles 文件在 assets 文件夹中。库需要显示没有错误;)。在您的 xml 文件中,您已经放置了 MapView 自定义 View 。

然后在您的 Activity 中:

MapView mapView = (MapView) findViewById(R.id.mapview);
mapView.setTileSource(new MBTilesLayer(this, "map.mbtiles"));

然后您可以添加自定义设置,例如缩放等。

祝您使用离线 map 好运。 :)

关于android - 在 android 项目中显示 Tilemills mbtiles 的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25566863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com