使用osmdroid6.0.2加载谷歌、高德、天地图等瓦片地图

本文介绍了如何在Android中利用osmdroid6.0.2开源库加载谷歌、高德、天地图等瓦片地图。作者提醒注意知识产权问题,并分享了自定义GoogleTileSource类的实现,同时指出由于坐标系差异,需要进行WGS-84到GCJ02的坐标转换。百度瓦片因分割和坐标系不同未被讨论。
摘要由CSDN通过智能技术生成

研究了一星期多的Osmdroid6.0.2,深感这个开源的android地图包强大,因为使用其他瓦片涉及知识产权,请大家谨慎使用,本文只做研究测试。


新建GoogleTileSource类继承org.osmdroid.tileprovider.tilesource.TileSourceFactory类,具体对应的资源都有注释

public class GoogleTileSource extends TileSourceFactory {
   
    //谷歌卫星混合
    public static final OnlineTileSourceBase GoogleHybrid = new XYTileSource("Google-Hybrid",
            0, 19, 512, ".png", new String[]{
   
            "http://mt0.google.cn",
            "http://mt1.google.cn",
            "http://mt2.google.cn",
            "http://mt3.google.cn",

    }) {
   
        @Override
        public String getTileURLString(long pMapTileIndex) {
   
            Log.d("url", getBaseUrl() + "/vt/lyrs=y&scale=2&hl=zh-CN&gl=CN&src=app&x=" + MapTileIndex.getX(pMapTileIndex) + "&y=" + MapTileIndex.getY(pMapTileIndex) + "&z=" + MapTileIndex.getZoom(pMapTileIndex));
            return getBaseUrl() + "/vt/lyrs=y&scale=2&hl=zh-CN&gl=CN&src=app&x=" + MapTileIndex.getX(pMapTileIndex) + "&y=" + MapTileIndex.getY(pMapTileIndex) + "&z=" + MapTileIndex.getZoom(pMapTileIndex);
        }
    };
    
    //谷歌卫星
    public static final OnlineTileSourceBase GoogleSat = new XYTileSource("Google-Sat",
            0, 19, 512, ".png", new String[]{
   
            "http://mt0.google.cn"
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值