Jquery Slider UI,用于在基于不透明度的OpenLayers中显示覆盖层
Jquery Slider UI for displaying Overlay Layer in OpenLayers based on Opacity
这似乎是一个重复的问题,因为我已经经历了很多已经可用的问题,但作为Openlayers的新手,我无法获得,我应该如何使用jquery滑块设置我的Openlayers,我可以定位它,但它不起作用。
我有OSM的baske地图,覆盖层是.png,我想检查不透明度,这样我也可以检查基层。
如果可能的话,有人可以指导。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Web Urban Atlas</title>
<link type= text/css rel = stylesheet href="index_style.css" />
<link rel="stylesheet" href="http://code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css">
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
<script type="text/javascript" src="http://openlayers.org/api/2.13.1/OpenLayers.js"></script>
<script src='http://maps.google.com/maps/api/js?v=3.2&sensor=false' type='text/javascript'></script>
<script type= "text/javascript" src="main_functions.js"></script>
<script>
defaultLatCenter = 23;
defaultLonCenter = 77;
defaultZoom = 5;
proj4326 = new OpenLayers.Projection("EPSG:4326");
proj900913 = new OpenLayers.Projection("EPSG:900913");
init = function() {
gphy = new OpenLayers.Layer.Google("Google Physical", {
type: google.maps.MapTypeId.TERRAIN
});
osm = new OpenLayers.Layer.OSM("openstreetmap");
map = new OpenLayers.Map("map");
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.addLayers([gphy, osm]);
map.setCenter(new OpenLayers.LonLat(defaultLonCenter, defaultLatCenter).transform(proj4326, map.getProjectionObject()), defaultZoom);
bounds = new OpenLayers.Bounds();
bounds.extend(new OpenLayers.LonLat(76.8027, 28.9642));
bounds.extend(new OpenLayers.LonLat(77.5936, 28.1847));
bounds.transform(proj4326, map.getProjectionObject());
radar_overlay = new OpenLayers.Layer.Image('1992_delhi', '1992.png', bounds, new OpenLayers.Size(2706, 2669), {
'isBaseLayer': false,
'alwaysInRange': true
});
map.addLayer(radar_overlay);
radar_overlay.setZIndex(150);
radar_overlay.setOpacity(0.7);
};
function gotodelhi(){
// map extent
var extent = new OpenLayers.Bounds(76.8027, 28.9642, 77.5936, 28.1847).transform(proj4326, proj900913);
map.zoomToExtent(extent);
}
function gotomumbai(){
// map extent
var extent = new OpenLayers.Bounds(72.778333, 19.449444, 73.175278, 18.857222).transform(proj4326, proj900913);
map.zoomToExtent(extent);
}
function gotobangalore(){
// map extent
var extent = new OpenLayers.Bounds(77.401389, 13.139167, 77.853333, 12.769722).transform(proj4326, proj900913);
map.zoomToExtent(extent);
}
</script>
<style>
html, body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
</style>
<script>
$(function() {
$( "#accordion" ).accordion();
});
</script>
<script>
$(function() {
$( "#slider-vertical" ).slider({
orientation: "vertical",
range: "min",
min: 0,
max: 100,
value: 60,
slide: function( event, ui ) {
$( "#amount" ).val( ui.value );
}
});
$( "#amount" ).val( $( "#slider-vertical" ).slider( "value" ) );
});
</script>
</head>
<body onload="init()">
<div id="header" style= "width: 100%;height:20%;">
<h2>Urban Atlas</h2>
</div>
<div id="map" style= "width:80%;height:70%;float:right;">
</div>
<div id="accordion" style="width:20%">
<h3 id= "Bangalore" onclick=gotobangalore()>Bangalore</h3>
<div>
<p>
Bangalore is city of gardens
</p>
</div>
<h3 id="setDelhi" onclick=gotodelhi()> delhi </h3>
<div>
<p>
Content For delhi
</p>
</div>
<h3 id="setMumbai" onclick=gotomumbai()>mumbai</h3>
<div>
<p>
Content for mumbai
</p>
</div>
</div>
<div id="slider-vertical" style="height:200px;float:right"></div>
</body>
</html>
尝试删除setZIndex()
行。
代码似乎是正确的。如果不起作用,请尝试创建一个jsfiddle示例,以便我们可以帮助您。
此外,您可以在OpenLayers Cookbook上找到示例代码示例:http://acanimal.github.io/Openlayers-Cookbook/
请参见"第02章创建图像层示例"。
PS:此外,这个区块上还有一个新的孩子,OpenLayers3,它使用了一个完全不同的API。你可以在The Book of OpenLayers3上找到帮助(https://leanpub.com/thebookofopenlayers3)。
相关文章:
- 使用不带文本文件的OpenLayers显示POI
- OpenLayers在悬停时高亮显示功能,并在单击时选择
- OpenLayers.Layer.Text在0,0处显示图标
- OpenLayers显示谷歌地图
- OpenLayers圆始终显示在原点
- 如何在 OpenLayers 3 中隐藏和显示功能?(重绘?
- GeoJSON 要素坐标未显示在 OpenLayers 地图上
- 无法让我的 openlayers 地图显示在网页上
- OpenLayers 3 悬停每次仅突出显示一个指定的对象
- 如何使用 OpenLayers 制作单击的链接中心并在地图上显示弹出窗口
- 需要我使用 NodeJS 在页面内显示 OpenLayers 3 映射
- Jquery Slider UI,用于在基于不透明度的OpenLayers中显示覆盖层
- Openlayers标签:防止将.123显示为0.123
- gwt-openlayers-显示路线
- 为什么OpenLayers只显示我的KML中的第一个功能
- 创建圆后显示OpenLayers边界
- 如何在OpenLayers 3中显示图像的颜色通道
- "箭头“;图片只显示了OpenLayers 3中地图的一半
- 在OpenLayers中以100%显示静态图像
- 如何在openlayers上显示缩放级别(仅限js/html文件)