Mapbox Android SDK与在线定制MBTiles
我已经开始使用Mapbox Android SDK构建Android应用程序。我想使用我在Tilemill创建的自定义mbtiles文件。我下面这个指令Mapbox Android SDK与在线定制MBTiles
Code to Display the Tilemills mbtiles in android project
我已经成功地实现了这个代码和工作的罚款。但问题是,当我构建APK时,它变成了一个巨大的文件,因为我的MBTiles文件太大了。这就是为什么它需要很长时间才能打开应用程序。有没有办法从联机服务器存储访问MBTiles文件,如http://www.example.com/mymap.mbtiles?我试图用下面的代码的MapView活动,但没有得到任何运气
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MapView mapView = (MapView) findViewById(R.id.mapview);
mapView.setZoom(10);
mapView.setCenter(new LatLng(38.8977, -77.0365));
mapView.setTileSource(new MBTilesLayer(this, "http://www.example.com/mymap.mbtiles"));
XML文件包含
<com.mapbox.mapboxsdk.views.MapView android:id="@+id/mapview
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
回答:
在我看来,你已经在你的问题中使用的API现在不推荐使用mapbox-gl-native项目。然而,从我这里其他的答案发现,在GitHub上有可能是一个方式来实现你想要做什么:
- 提取您的.mbtiles文件到png格式瓷砖文件,并使用mb-util一个以.json文件。
- 将这些文件存放在服务器上。
- 使用TileJsonTileLayer而不是MBTilesLayer来访问联机切片。尝试执行此操作可以在mapbox-android-sdk-legacy项目的#742问题中找到。
如果它不起作用,我很抱歉。这是我目前可以提出的最好的,因为我没有时间自己实施它。
以上是 Mapbox Android SDK与在线定制MBTiles 的全部内容, 来源链接: utcz.com/qa/258092.html