文档章节

离线地图

凌兮洛
 凌兮洛
发布于 07/16 13:46
字数 550
阅读 9
收藏 0

瓦片地图原理

瓦片地图由一片一片的地图瓦片构成,它的尺寸是256px*256px,是一张张的图片。下面的金字塔图片,从上到下,呈一个指数关系的增长,最上面对应比例尺最小,表示范围最大的地图,一般而言,最大的这个就代表世界地图整个的地球范围。然后依次往下,对应不同的层级。

对于瓦片地图256px*256px的图片组成结构,有一套自己的坐标系统。坐标系统有三个x,y,z。x,y确定当前瓦片的位置,z表示当前瓦片的缩放级别,对应的是金字塔里面的层级。

第一级瓦片

第二级瓦片

以指数增长,比例尺越来越大,清晰度越来越高。

瓦片地图的优势:

  • 高效缓存
  • 渐进加载
  • 简单易用

离线地图插件 - Leaflet

Leaflet是一个离线的地图插件,也是完全遵循瓦片地图的国际标准。在使用Leaflet时,首先需要获取它的js文件,可以直接去官网下载(https://leafletjs.com/ ),下载后,创建地图:

  • 显示地图
      //定义一个变量,L.map使用了一个id为map的div,之后setview 设置当前适口显示的地理坐标点和赋予它的层级
      var map = L.map('map').setView([51.505, -0.09], 13);
      //手动指定瓦片地图源
      L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);
    
  • 显示地图之后,我们需要添加一些地图的插件,比如添加一个Marker、Popup
        L.marker([51.5, -0.09]).addTo(map)
            .bindPopup('FirstMarker')
            .openPopup();
    
  • 除此之外还可以,添加线条
        //确定坐标点
        var latlngs = [
            [51.5, -0.09],
            [55.5, -1.09],
            [56.5, -2.09]
        ];
        var polyline = L.polyline(latlngs, {
            color: 'red'
        }).addTo(map);
    
  • 添加多边形
        var latlngs = [
            [50, 0],
            [51, -1],
            [52, -2],
            [51, -3]
        ];
        var polygon = L.polygon(latlngs, {
            color: 'red'
        }).addTo(map);
    

© 著作权归作者所有

凌兮洛
粉丝 2
博文 73
码字总数 76312
作品 0
长沙
私信 提问
离线地图的数据格式,如何提高读取速度

最近在做一个地图项目,现在涉及到离线地图的问题,想请教下离线地图怎么保存比较好那 1) 保存在文件里面? 2) 保存在数据库里面 这个两种方法都涉及到解析二进制数据的问题,会降低离线地图...

xxxrqec
2013/09/22
1K
8
有没有人知道制作地图离线包问题

现在什么地图引擎提供个人制作地图数据包功能,即制作离线地图数据包。 其实,我就是想制作一个地图数据包,在离线的时候加载这个数据包(别问我为什么不下载离线包,偏要自己制作一个,因为...

sstxut11
2015/10/15
124
0
百度离线地图资源

离线地图资源,完全可脱离互联网访问,正在发愁局域网或内网使用地图定位的小伙伴们福音来了。。。。。。哈哈哈哈哈!!! 支持各大主流浏览器 IE7、8、9、10,火狐、360浏览器、谷歌浏览器 ...

迷猫
2016/11/12
883
0
谷歌恢复Android版谷歌地图离线访问功能

在用户纷纷抱怨新版Android谷歌地图存储地图缓存信息以便离线时使用的功能存在问题一天后,谷歌很快更新了地图应用,修复了该问题。实际上地图的缓 存功能是相当有用的,尤其是当用户在外旅行...

oschina
2013/07/12
1K
7
(2018)Oruxmaps最新离线地图(地图包)制作教程

Oruxmaps作为一款非常强大的户外gps导航软件,可以实现离线地图导航,在没有手机信号、飞行模式下都可以正常导航;同时功能强大,可以自定义离线地图,支持记录/跟踪轨迹、导入/导出航迹、根...

b2b2b_1
2018/01/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

可能是国内第一篇全面解读 Java 现状及趋势的文章

作者 | 张晓楠 Dragonwell JDK 最新版本 8.1.1-GA 发布,包括全新特性和更新! 导读:InfoQ 发布《2019 中国 Java 发展趋势报告》,反映 Java 在中国发展的独特性,同时也希望大家对 Java 有...

阿里云官方博客
13分钟前
2
0
Spring Boot 2.x基础教程:Swagger静态文档的生成

前言 通过之前的两篇关于Swagger入门以及具体使用细节的介绍之后,我们已经能够轻松地为Spring MVC的Web项目自动构建出API文档了。如果您还不熟悉这块,可以先阅读: Spring Boot 2.x基础教程...

程序猿DD
16分钟前
2
0
《毅力》读书笔记

1.确信你全身心地投入 2.准备好为目标进行艰难的跋涉 3.通过减少需要使用毅力的情形,为将来的挑战做好准备 4.尽可能具体细致地确定你的目标和实现目标的过程 5.把挑战分解为小而易于管理的小...

lingch
17分钟前
3
0
zk中快速选举FastLeaderElection实现

选举涉及概念 服务器状态 投票 如何选择投票? 协议 选举 如何进行选举? epoch 发送者 接收者 发送队列 接收队列 服务器状态 public enum ServerState { LOOKING,寻找Leader状态,当服务处于...

writeademo
20分钟前
2
0
教你玩转Linux—磁盘管理

Linux磁盘管理好坏直接关系到整个系统的性能问题,Linux磁盘管理常用三个命令为df、du和fdisk。 df df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少...

Linux就该这么学
23分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部