Javascript 传单放大镜插件-切换层
我有一张传单地图,我正在其中使用,并希望在放大的图层中切换。我有一个“底图”层,然后是三个我想放大的层。我希望能够通过我设置的三个按钮(Btn1、Btn2、Btn3)在这些层之间切换 放大镜将自动设置放大层1,然后三个按钮将在单击后加载放大层2和放大层3,并重新加载放大层1。下面是我当前的代码 我特别感兴趣的是,放大镜实例是否有“添加”和“删除”方法,如果没有,我将如何使用相关层动态构建和重建它Javascript 传单放大镜插件-切换层,javascript,html,leaflet,Javascript,Html,Leaflet,我有一张传单地图,我正在其中使用,并希望在放大的图层中切换。我有一个“底图”层,然后是三个我想放大的层。我希望能够通过我设置的三个按钮(Btn1、Btn2、Btn3)在这些层之间切换 放大镜将自动设置放大层1,然后三个按钮将在单击后加载放大层2和放大层3,并重新加载放大层1。下面是我当前的代码 我特别感兴趣的是,放大镜实例是否有“添加”和“删除”方法,如果没有,我将如何使用相关层动态构建和重建它 <div class="span9" style="height:100%"> <
<div class="span9" style="height:100%">
<div id="map"></div>
<div id="centered" style="width:600px;">
<input type="button" id="Btn1" value="Wealth index" onclick="" class="btnStyle span3" />
<input type="button" id="Btn2" value="PPI" onclick="" class="btnStyle span3" />
<input type="button" id="Btn3" value="Income" onclick="" class="btnStyle span3" />
<script>
// initialize the map + minimum zoom if just focusing on one country
var map = L.map('map',{minZoom: 7, maxZoom: 7,attributionControl: false,zoomControl: false, scrollWheelZoom:false}).setView([23.814602, 90.413961], 12);
map.dragging.disable()
// Add zoom to extent button (see stylesheet and .js file in header)
<!-- map.addControl(new L.Control.ZoomMin()) -->
//Setting Maximum bounds for zooming and panning (Top left and bottom right from google maps)
var bounds = L.latLngBounds([[26.548387, 89.144284], [20.580493, 92.103854]]);
map.setMaxBounds(bounds);
map.on('drag', function() {
map.panInsideBounds(bounds, { animate: false });
});
//Load GeoJSON using Ajax Plugin (Chrome not allowing cross HTTP requests..)
<!-- var geojsonLayer = new L.GeoJSON.AJAX("Bangladesh2.json",{style:style -->
<!-- ,smoothFactor: 0.1}).addTo(map); -->
// Adding layers and bounds
var Basemap_Bounds = new L.LatLngBounds(
new L.LatLng(26.64163201,88.00822613),
new L.LatLng(20.73330104,92.67489093));
var Magnified_Bounds = new L.LatLngBounds(
new L.LatLng(26.6344108958,88.02834),
new L.LatLng(20.5760799858,92.67000481));
map.fitBounds(bounds);
var Basemap = new L.ImageOverlay("img/Basemap.png", Basemap_Bounds).addTo(map);
var Magnified_Layer1 = new L.ImageOverlay("img/Magnified_Layer1.png", Magnified_Bounds);
var Magnified_Layer2 = new L.ImageOverlay("img/Magnified_Layer2.png", Magnified_Bounds);
var Magnified_Layer3 = new L.ImageOverlay("img/Magnified_Layer3.png", Magnified_Bounds);
// Setting up Magnifying Glass
var magnifyingGlass = L.magnifyingGlass({
layers: [Magnified_Layer1],
zoomOffset: 0,
radius: 75
}).addTo(map);
//如果只关注一个国家,则初始化地图+最小缩放
var map=L.map('map',{minZoom:7,maxZoom:7,attributeioncontrol:false,zoomControl:false,scrollWheelZoom:false});
map.draging.disable()
//添加“缩放到范围”按钮(请参见标题中的样式表和.js文件)
//设置缩放和平移的最大界限(谷歌地图的左上角和右下角)
var bounds=L.latLngBounds([26.548387,89.144284],[20.580493,92.103854]);
map.setMaxBounds(bounds);
map.on('drag',function(){
panInsideBounds(边界,{animate:false});
});
//使用Ajax插件加载GeoJSON(Chrome不允许跨HTTP请求..)
//添加层和边界
var Basemap_Bounds=新的L.LatLngBounds(
新L.LatLng(26.64163201,88.00822613),
新L.LatLng(20.73330104,92.67489093));
var放大_边界=新的L.LatLngBounds(
新L.LatLng(26.6344108958,88.02834),
新L.LatLng(20.5760799858,92.67000481);
映射边界(bounds);
var Basemap=newl.ImageOverlay(“img/Basemap.png”,Basemap\u Bounds).addTo(map);
var放大的图层1=新的L.ImageOverlay(“img/Magnified的图层1.png”,放大的图层边界);
var Amplified_Layer2=新的L.ImageOverlay(“img/Amplified_Layer2.png”,放大的边界);
var放大的图层3=新的L.ImageOverlay(“img/Magnified的图层3.png”,放大的图层边界);
//设置放大镜
var放大镜=L.放大镜({
图层:[放大的图层1],
zoomOffset:0,
半径:75
}).addTo(地图);
原来我使用的是旧版本的传单(0.7.2),但该功能不支持
我更新到最新版本(1.0.3),现在可以使用addLayer和removeLayer功能切换放大镜 原来我使用的是旧版本的传单(0.7.2),但该功能不支持 我更新到最新版本(1.0.3),现在可以使用addLayer和removeLayer功能切换放大镜