gpt4 book ai didi

android - 来自 sqlite tiles 的 OSMDroid 灰色区域

转载 作者:行者123 更新时间:2023-11-30 00:44:24 24 4
gpt4 key购买 nike

我尝试使用 assets 中的 sqlite tiles 制作离线 map 。我将 sqlite 文件移动到 osmdroid 文件夹,但它只加载 map 的几个部分。

我使用 MOBAC 创建了我的 sqlite 文件,我尝试使用相同或不同的图层选择不同的缩放级别,并强制将正方形重新绘制为 PNG。

map 是使用以下代码创建的:

    map = (MapView) findViewById(R.id.mapview);
map.setTileSource(TileSourceFactory.MAPNIK);
MyLocationNewOverlay mLocationOverlay = new MyLocationNewOverlay(new GpsMyLocationProvider(StepActivity.this), map);
mLocationOverlay.enableMyLocation();
map.getOverlays().add(mLocationOverlay);
map.setBuiltInZoomControls(true);
map.getController().setZoom(15);
map.setClickable(false);
map.setUseDataConnection(false);
map.setMinZoomLevel(15);
map.setMaxZoomLevel(18);

但是在加载 map 的时候(花了一些时间不知道是不是正常的)。大部分 map 都是灰色的,我必须放大/缩小几次才能加载一些部分。

我不明白如何加载我所有可见的 map 。

最佳答案

在您的示例中,MOBAC 中使用的图 block 源的“名称”必须匹配“MAPNIK”。您可以使用 sqlite3 命令行工具或使用 firefox 的 sqlite 管理器插件来验证它的设置。

select * from tiles 应该这样做

您的示例代码还将缩放级别设置为 15。您确定在 mobac 中选择了缩放级别 15 吗?当应用程序启动到您知道在数据库中的位置时,设置默认纬度/经度可能会有所帮助。包含 0-9 左右的缩放级别也很有帮助,因为这些缩放级别的内容不会太大,而且可以帮助您找出位置。

延迟可能是在启动时从 Assets 复制到/sdcard。在创建 map View (setContentView) 之前,您还需要确保数据库存在于 osmdroid 可以找到它的地方。如果这不是一个选项,您还可以在复制操作完成后通过 mapView.setTileProvider(new MapTileProviderBasic(context));重置 map 图 block 提供程序p>

关于android - 来自 sqlite tiles 的 OSMDroid 灰色区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42029295/

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