gpt4 book ai didi

android - 使用 osmdroid mapview 将自定义图像用作 maptile

转载 作者:行者123 更新时间:2023-11-30 02:47:59 26 4
gpt4 key购买 nike

有没有人知道是否可以使用 osmdroid 在 mapview 中将图像用作自定义 maptile?例如,我希望用户能够从我的应用程序中选择存储在手机上的图像,然后让该图像替换我的 map View 中的图 block 。

有没有人对如何做到这一点有任何指示或想法?

最佳答案

我不确定是否了解真正的需求。仅针对一个特定的缩放级别?

但是,2个方向:

  • OSMBonusPack GroundOverlay让您将位图图像定位在 map 上的某个位置。您可以调整其大小、旋转和透明度。它不是替换瓷砖,它是在上面绘制的。它适用于所有缩放级别。

  • 您可以尝试在 osmdroid 文件系统缓存中用您的图像文件替换 map 图 block 文件。这 2 个实用函数将帮助您获得给定(纬度、经度、缩放)的确切文件路径:

    public Point getMapTileFromCoordinates(final double aLat, final double aLon, final int zoom){
    final int y = (int) Math.floor((1 - Math.log(Math.tan(aLat * Math.PI / 180) + 1 / Math.cos(aLat * Math.PI / 180)) / Math.PI) / 2 * (1 << zoom));
    final int x = (int) Math.floor((aLon + 180) / 360 * (1 << zoom));
    return new Point(x, y);
    }

    public File getFileName(ITileSource tileSource, MapTile tile){
    final File file = new File(OpenStreetMapTileProviderConstants.TILE_PATH_BASE,
    tileSource.getTileRelativeFilenameString(tile) + OpenStreetMapTileProviderConstants.TILE_PATH_EXTENSION);
    return file;
    }

关于android - 使用 osmdroid mapview 将自定义图像用作 maptile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24701352/

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