用openlayers在加载离线瓦片(里面附带下载瓦片的软件,请往下看)

首先先来看看效果:这个是谷歌卫星图

然后我们说说怎么实现的吧:

<!DOCTYPE html>
<html>
<head>
	<title>离线瓦片</title>
	<link rel="stylesheet" href="css/ol.css">
</head>
<body>
	
	<div id="map" style="width: 100%;height: 800px;"></div>
</body>
</html>
<script src="js/jquery.min.js"></script>
<script src="js/ol.js"></script>
<script type="text/javascript">
    var center = ol.proj.transform([112.233778,22.688963], 'EPSG:4326', 'EPSG:3857');//设置中心位置

    //1、创建地图
    var map = new ol.Map({
        view: new ol.View({ 
            center: center,
            zoom: 1, //瓦片的层级-请根据自身需要
        }),
        target: 'map'
    });

    //2、添加一个使用离线瓦片地图的层
    var offlineMapLayer = new ol.layer.Tile({
        source: new ol.source.XYZ({
            url: 'china(weixing)/googlemaps/satellite/{z}/{x}/{y}.jpg'//特别注意,这里的z-x-y的顺序,我因为这里找了好久的问题
        })
    });

    //3、将瓦片层级添加到地图里面
    map.addLayer(offlineMapLayer);
</script>

这里的话因为离线瓦片太大,我就只传4层的瓦片,下面有需要的朋友可以把源码当下来看看

百度网盘地址:https://pan.baidu.com/s/166HX7AWVwRsESB7FwY_quQ   提取码:r8qm

  下面来介绍下我使用的获得离线瓦片的工具 全能地图下载(破解版)

https://blog.csdn.net/qq_41619796/article/details/90241491

Vue项目中使用离线瓦片地图服务,特别是使用OpenLayers 6框架与高德地图的瓦片资源时,首先需要理解瓦片地图的概念。瓦片地图是一种将地图划分为多个小块图片(瓦片)的方法,这些瓦片可以单独请求和缓存,以提高地图的加载速度和减少服务器负担。 以下是使用OpenLayers 6在Vue项目中嵌入离线瓦片的基本步骤: 1. 准备离线瓦片数据:确保你有高德地图的离线瓦片数据。通常这些数据需要预先下载并放置在服务器或本地文件系统中。 2. 配置Vue项目:在Vue项目中安装OpenLayers依赖,并在项目中正确引用OpenLayers。 例如,在`package.json`文件中添加OpenLayers依赖: ```json "dependencies": { "ol": "latest version" } ``` 然后运行`npm install`来安装依赖。 3. 在Vue组件中添加地图初始化代码:在Vue组件的`mounted`钩子中初始化OpenLayers地图,并添加离线瓦片图层。 以下是一个示例代码片段: ```javascript import 'ol/ol.css'; import Map from 'ol/Map'; import View from 'ol/View'; import TileLayer from 'ol/layer/Tile'; import TileWMS from 'ol/source/TileWMS'; import TileGrid from 'ol/tilegrid/TileGrid'; import XYZ from 'ol/source/XYZ'; export default { name: 'MapComponent', mounted() { const map = new Map({ target: 'map', // 对应到你的HTML模板中地图容器的id layers: [ new TileLayer({ source: new XYZ({ url: 'path_to_yourOfflineTiles/{z}/{x}/{y}.png', // 离线瓦片文件路径 tileGrid: new TileGrid({ resolutions: [156543.03390625, 78271.516953125, 39135.7584765625, 19567.87923828125, 9783.939619140625, 4891.969809570312, 2445.9849047851562, 1222.9924523925781, 611.4962261962891, 305.74811309814453, 152.87405654907226, 76.43702827453613, 38.218514137268066, 19.109257068634033, 9.554628534317017, 4.777314267158508, 2.388657133579254, 1.194328566789627, 0.5971642833948135, 0.29858214169740677, 0.14929107084870338], // 分辨率数组 extent: [-20037508.34, -20037508.34, 20037508.34, 20037508.34] // 世界范围 }) }) }) ], view: new View({ center: [0, 0], // 地图中心点坐标 zoom: 2 // 缩放级别 }) }); map.setTarget('map'); } } ``` 4. 在Vue模板中添加地图容器:确保HTML模板中有对应的地图容器元素。 ```html <div id="map" style="width: 100%; height: 100%;"></div> ``` 请注意,上面的代码需要根据实际情况进行调整,特别是瓦片的URL路径、分辨率数组和世界范围等。
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浩星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值