<!DOCTYPE html>
<html>
<head>
<title>地图卷帘效果</title>
<link rel="stylesheet" href="https://openlayers.org/en/v6.5.0/css/ol.css" type="text/css">
<script src="https://openlayers.org/en/v6.5.0/build/ol.js"></script>
<style>
body {
overflow: hidden;
}
html, body, .map {
width: 100%;
height: 100%;
position: absolute;
box-sizing: border-box;
padding: 0;
margin: 0;
}
.swipe {
position: absolute;
top: 15px;
left: 40px;
z-index: 9;
width: auto;
}
.swipe input[type=range] {
width: 300px;
}
</style>
</head>
<body>
<div class="swipe">
卷帘:<input type="range" min="0" max="100" step="1" id="swipe" value="8"><br />
</div>
<div id="map" class="map"></div>
<script>
function getTdtLayer(lyr) {
var url = "http://t{0-7}.tianditu.com/DataServer?T=" + lyr + "&X={x}&Y={y}&L={z}&tk=54******0f00b";//说明:token要去天地图官网注册账号然后申请。
var layer = new ol.layer.Tile({
source: new ol.source.XYZ({
url: url
})
});
return layer;
}
var vec_c = getTdtLayer("vec_w");
var cva_c = getTdtLayer("cva_w");
var img_c = getTdtLayer("img_w");
var veclayerGroup = new ol.layer.Group({
layers: [vec_c, cva_c]
});
var imglayerGroup = new ol.layer.Group({
layers: [img_c, cva_c]
});
var map = new ol.Map({
target: "map",
view: new ol.View({
projection: "EPSG:4326",
center: [115.7555794477557, 22.6070466884657],
zoom: 7
}),
layers: [
imglayerGroup, veclayerGroup
]
});
var swipe = document.getElementById('swipe');
vec_c.on('prerender', function (event) {
var ctx = event.context;
console.log(swipe.value);
var width = ctx.canvas.width * (swipe.value / 100);
ctx.save();
ctx.beginPath();
ctx.rect(width, 0, ctx.canvas.width - width, ctx.canvas.height);
ctx.clip();
});
vec_c.on('postrender', function (event) {
var ctx = event.context;
ctx.restore();
});
swipe.addEventListener('input', function () {
map.render();
}, false);
</script>
</body>
</html>
前端实现卷帘效果
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 这个动画是将鼠标移动到订阅按钮上移动光标会显示相应的彩色渐变。这个想法很简单,但是它能使这个按钮脱颖而出,人们一下...