百度地图APIv2.0离线调用卫星图混合图路网本地瓦片

很多文章讲离线使用本地普通地图瓦片的方法,是下面这样:

文件:bmap_offline_api_v2.0_min.js

注释内容并添加下面两行

Vc.getTilesUrl = function(a, b, c) {

        var d = a.x;

            a = a.y;

            e = 1;

            c = Uc[c];

        /*this.map.dE() && (e = 2);

        d = this.map.bb.xw(d, b).Fw;

        return (Tc[Math.abs(d + a) % Tc.length] + "?qt=tile&x=" + (d + "").replace(/-/gi, "M") + "&y=" + (a + "").replace(/-/gi, "M") + "&z=" + b + "&styles=" + c + "&scaler=" + e + (6 == x.ea.la ? "&color_dep=32&colors=50" : "") + "&udt=20160730").replace(/-(\d+)/gi, "M$1")*/

      tdir = bdmapcfg.tiles_dir.length>0?bdmapcfg.tiles_dir:bdmapcfg.home + "tiles";

      return tdir + "/" + b + "/" + d + "/" + a + bdmapcfg.imgext; //使用本地的瓦片

文件:map_load.js

var bmapcfg = {

  'home':'.',

  'imgext': '.jpg',   //瓦片图的后缀 ------ 根据需要修改,一般是 .png .jpg

  'tiles_dir'   : '',       //普通瓦片图的地址,为空默认在 offlinemap/tiles/ 目录

  'tiles_hybrid': '',       //卫星瓦片图的地址,为空默认在 offlinemap/tiles_hybrid/ 目录

  'tiles_self'  : ''        //自定义图层的地址,为空默认在 offlinemap/tiles_self/ 目录

};

那么在map.html中使用了

//添加地图类型控件

map.addControl(new BMap.MapTypeControl({

    mapTypes: [

        BMAP_NORMAL_MAP,//普通地图

        BMAP_HYBRID_MAP,//混合路网

        BMAP_SATELLITE_MAP//卫星地图

    ]
}));

后只能显示普通地图的瓦片却显示不了卫星地图和混合地图的瓦片,怎么办呢?网上怎么搜都搜不到解决方法,让人很头大。

在浏览器中打开控制台,根据鼠标滚动缩放后的找不到文件图片报错,定位到卫星图和混合图的url,类比普通地图的方法,进行下面的修改,成功将卫星图和混合图修改为离线瓦片。直接上代码。

文件:bmap_offline_api_v2.0_min.js

Xc.getTilesUrl = function(a, b) {

        var c = a.x,

            d = a.y;

        //return (Sc[Math.abs(c + d) % Sc.length] + "u=x=" + c + ";y=" + d + ";z=" + b + ";v=009;type=sate&fm=46&udt=20141015").replace(/-(\d+)/gi, "M$1")

        var tdir = bmapcfg.tiles_dir.length > 0 ? bmapcfg.tiles_dir : bmapcfg.home + "tiles_satellite";

        return tdir + "/" + b + "/" + c + "/" + d + bmapcfg.imgext; // 使用本地的卫星瓦片

    };

    var Xa = new Rc("\u536b\u661f", Xc, {

        tips: "\u663e\u793a\u536b\u661f\u5f71\u50cf",

        minZoom: 1,

        maxZoom: 19,

        textColor: "white"

    }),

        Yc = new Ec({

            transparentPng: o

        });

    Yc.getTilesUrl = function(a, b) {

        var c = a.x,

            d = a.y;

        //return (Tc[Math.abs(c + d) % Tc.length] + "?qt=tile&x=" + (c + "").replace(/-/gi, "M") + "&y=" + (d + "").replace(/-/gi, "M") + "&z=" + b + "&styles=sl" + (6 == x.ea.la ? "&color_dep=32&colors=50" : "") + "&udt=20141015").replace(/-(\d+)/gi, "M$1")

        var tdir = bmapcfg.tiles_dir.length > 0 ? bmapcfg.tiles_dir : bmapcfg.home + "tiles_hybrid";

        return tdir + "/" + b + "/" + c + "/" + d + bmapcfg.imgext; // 使用本地的混合瓦片(路网等)

在文件中搜索getTilesUrl,找到第10次和第11次出现的位置,注释原有的return加上每个return下面两行。成功

普通地图瓦片路径:tiles文件夹

卫星地图瓦片路径:tiles_satellite文件夹

混合地图瓦片路径:tiles_hybrid文件夹

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 百度离线apiv1.3.min.js是一款由百度地图开发的离线JavaScript库。它是为开发者提供的一种解决方案,可以在没有网络连接或者网络连接不稳定的情况下使用地功能。 百度离线apiv1.3.min.js主要有以下特点和功能: 1. 离线功能:与传统的在线地不同,离线可以在没有网络连接的情况下使用。这对于一些没有信号或者信号不稳定的地区非常有用,用户可以随时查询地信息。 2. 缓存地数据:离线可以将地数据缓存在本地,这样用户在下次使用时就不需要重新下载地数据,提高了地的加载速度和用户的使用体验。 3. 支持地交互功能:离线除了基本的地显示外,还支持地交互功能,比如地的缩放、拖动、标记和覆盖物等。用户可以通过离线apiv1.3.min.js实现对地的多种操作。 4. 提供丰富的地数据:百度离线apiv1.3.min.js不仅提供基本的地,还提供了一些专业的地数据,比如路况信息、街景等。这些数据可以帮助用户更好地了解地理环境。 总之,百度离线apiv1.3.min.js是一款功能强大的离线JavaScript库,为开发者提供了离线功能的解决方案,方便用户在没有网络连接的情况下使用地服务。 ### 回答2: 百度离线 apiv1.3.min.js 是百度地图提供的一个 JavaScript 库,用于在网页上展示离线功能。它是百度地图 API 的一部分,通过调用相关的接口和方法,可以实现在没有网络连接的情况下使用地服务。这个 js 文件包含了相关的功能代码,通过在网页上引入该文件,就可以使用离线的功能。 百度离线 apiv1.3.min.js 主要提供了以下功能: 1. 地展示:可以在网页上显示地,并支持缩放、平移、旋转等操作。用户可以通过鼠标或触摸进行操作。 2. 地控件:可以添加各种地控件,如缩放控件、定位控件、比例尺控件等,以方便用户的操作和定位。 3. 地覆盖物:可以在地上添加标注、线段、多边形等各种覆盖物,以展示相关的信息。 4. 地事件:可以通过监听地上的事件,如点击事件、拖拽事件等,来实现与地的交互。 5. 地搜索:提供了地理编码和逆地理编码的功能,用户可以通过地址或坐标进行地点搜索和定位。 6. 导航功能:支持路径规划、驾车导航、步行导航等功能,可以帮助用户进行导航操作。 总之,百度离线 apiv1.3.min.js 是一个强大的 JavaScript 库,通过引入该文件,可以在网页上实现离线展示和相关功能。无论是在没有网络连接的情况下,或者是需要在网页上使用地服务的场景,都可以使用该库来满足需求。 ### 回答3: 百度离线 apiv1.3.min.js 是百度地图提供的一个 JavaScript 库文件。这个库文件主要用于在 web 页面上展示离线数据。与传统的在线地不同,离线可以在没有网络连接的情况下仍然可以正常使用,这对于一些远离城市或者网络信号弱的地区非常有用。 使用百度离线apiv1.3.min.js,我们可以通过 JavaScript 代码在网页中创建地实例,设置地的中心点、缩放级别以及样式等。我们还可以在地上添加标记点、绘制形、显示路线等功能。这个库文件提供了很多方便易用的 API 方法,使得我们可以灵活地根据实际需求来展示地。 为了使用百度离线 apiv1.3.min.js,我们首先需要在页面中引入该库文件,并在页面加载完成后初始化地实例。在初始化地时,我们需要指定一个用来显示地HTML 容器元素,并设置地的初始参数。一般来说,我们可以指定地的中心点坐标和缩放级别,来显示地的初始状态。 除了基本的地展示功能外,百度离线 apiv1.3.min.js 还提供了许多其他功能,比如地上覆盖物样式的自定义、地事件的监听、地的缩放和拖拽等交互操作等。通过学习和使用这个库文件,我们可以很方便地在网页中集成离线功能,为用户提供更好的地展示和查询体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值