Tag: 传单

在Leaflet Maps Popup中启动Jquery UI对话框的问题

在我的Leaflet Map中,我想将一个弹出窗口绑定到一个包含缩略图图像的图层。 当用户点击缩略图时,会出现一个灯箱,其中包含该图像的较大版本。 我选择使用Jquery UI中的对话框来执行此操作。 到目前为止我所拥有的JS小提琴 /// I am using a leaflet JS Fiddle Template was provided by SO User Asad here: /// http://stackoverflow.com/a/13699060/3679978 /// I THINK I understand the concept he explained about dynamically generating Javascript. // Load Map stuff. var map = L.map(‘map_canvas’).setView([51.505, -0.09], 13); L.tileLayer(‘http://{s}.tiles.mapbox.com/v3/mapbox.mapbox-light/{z}/{x}/{y}.png’, { attribution: ‘Imagery from MapBox — © […]

如何在传单上选择特定路线?

我想绘制一张地图上绘制的路线很少。 我想要一个带有数字1,..,n的保管箱 选择保管箱中的项目时,相应的路线会在地图上突出显示。 我已经开始使用“传单”了。 1)如何在地图上用js选择特定的特征(例如线条)? 我看到了如何从function集合中过滤,而不是如何从地图上的所有function中进行选择(例如,通过属性X) $(‘select[name=”dropdown”]’).change(function() { var item = $(this).val(); alert(“call the do something function on option ” + item); //how to make the chosen line highlighted ?? });

是什么让jQuery.print不能使用Leaflet?

在测试使用jQuery.print( 这里的demo )的git repo时,我收到以下错误: [Exception… “The operation is insecure.” code: “18” nsresult: “0x80530012 (SecurityError)” location: “”] 我通过将以下内容粘贴到控制台中,使用jQuery.print在本地Leaflet实例上测试了这个,并且能够复制它: $.print(“map” /*, options*/); [Exception… “The operation is insecure.” code: “18” nsresult: “0x80530012 (SecurityError)” location: “”] “Failed to print from iframe” undefined “The operation is insecure.” jQuery.print.js:141 $.fn.print() jQuery.print.js:141 debugger eval code:1 即使我禁用了构建iframe进行打印的选项,也会发生这种情况: $(“map”).print({ addGlobalStyles : true, stylesheet : […]

如何在单张中显示和居中单个国家多边形?

我在使用传单加载页面时尝试自动缩放到特定的国家/地区名称。 当我发布我的页面时,我可以得到一个变量,如: var $myCountry = “France”; 现在我加载我的json像: $json = file_get_contents(“/world.json”); $data = json_decode($json, true); 这是我的geoJson结构: { “type”:”Feature”, “id”:”AFG”, “properties”:{“name”:”France”}, “geometry”:{ “type”:”Polygon”, “coordinates”:[ [ [61.210817,35.650072], [62.230651,35.270664] ] } }, 基本上我想检查我的变量名是否等于geoJson中的名称,如果是这样,我想得到它的坐标,沿着那些线。 var $myCoordinates = $myCountry.coordinates 我想这样做是为了根据变量中找到的国家名称放大到地图,我还检查了其他SO问题,但我没有得到它。 UPDATE 这几乎可行,变量和专有名称之间的比较不是tho,但变量字符串是正确的,并且通过json,我们确实有一个具有相同字符串的名称 var $country = “”; $.ajax({ type: ‘GET’, url: ‘/world.json’, data: { get_param: ‘value’ }, dataType: ‘json’, success: function (data) […]

单击鼠标时的传单加载数据和编辑要素属性

我正在从GeoJSON文件加载地图数据并为每个多边形附加一个click事件。 单击时,脚本应从服务器获取数据并修改其中一个单击的多边形属性。 即: function onClick(e) { var status = e.target.feature.properties.ACCESS; $.ajax({ url: “http://127.0.0.1:8080/?&u=x&p=”+e.target.feature.properties.ID_PARCELL, dataType: ‘jsonp’, type: ‘GET’, success: function(data) { status = data.status; e.target.feature.properties.ACCESS = data.status; e.target.bindPopup(“Owner: “+ data.status +””).openPopup(); }, error: function(data){console.log(data)} }); e.target.feature.properties.ACCESS = status; map.fitBounds(e.target.getBounds()); } 但由于成功函数是一个回调(同步与否,它并不重要),我无法回到原始事件源(即e ),因此我可以修改其中一个属性。 我的问题是:如何在加载此数据后返回事件源? 有没有通用的Javascript方式? 如果没有,有什么方法可以按functionID查询GeoJSON图层吗? (=>因此,我可以在ajax调用中发送functionID,只需将其与响应一起返回)

如何将具有特定类的标记添加到图层或图层组?

我有几个带有名称的css类的标记,例如:markerOne将.markerone作为css类,依此类推。 是否可以创建将这些标记分配给特定图层或组的function? 像var layerone = $(L.marker).hasClass(“markerone”)); 并在图层中分配该类的所有标记? 我想这样做,以后我可以使用addLayer和removeLayer打开/关闭该层。 我用来显示标记的function: function showResourcesByName(name) { for (var i = 0; i < markers.resources.length; i++) { var resName = markers.resources[i].name; if (resName == name) { var resIcon = icons.resources[i].icon; var resSize = icons.resources[i].size; var resPname = icons.resources[i].pname; var customIcon = L.icon({ iconUrl: resIcon, iconSize: resSize, // size of the […]

复选框中的叠加地图仅显示第一个基本地图

复选框中的叠加图仅适用于单击控制图层中的第一个基本地图,我可以在第二个基本地图上看到归因,但不能看到地图本身。 我正在与传单工作似乎相当奇怪…………………………………… ………………………………………….. 。 var googleearth = L.tileLayer(‘https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}’, { minZoom : 6, maxZoom: 17, attribution: ‘Tiles © Esri — Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community’ }); var googleTerrain = L.tileLayer(‘http://{s}.google.com/vt/lyrs=p&x={x}&y={y}&z={z}’,{ maxZoom: 20, subdomains:[‘mt0′,’mt1′,’mt2′,’mt3’] }); var map = L.map(“mapid”, { zoom: 10, center: [55.7363, -6.1771], […]

从leaflet.js地图添加/删除L.control

我有一个地图,可以根据四个单选按钮更改切片。 我需要在您滚动图块时显示的弹出窗口,以便在不同的图层更改时进行更改。 我已经让它出现但是当我切换图层时,地图只会添加另一个弹出窗口。 我尝试使用control.removeFrom(map),但它似乎不起作用。 我认为我的逻辑可能会搞砸到某个地方。 这是if语句之一: if (two == true && black == true) { function blkNineStyle(feature) { return { fillColor: getColor(feature.properties.pctBlack9000), weight: 2, opacity: 1, color: ‘#666’, dashArray: ‘2’, fillOpacity: 0.9 }; } //Tried to us this to take off the control. info.removeFrom(map); map.removeLayer(geojson); geojson = L.geoJson(tracts, {style: blkNineStyle, onEachFeature: onEachFeature}).addTo(map); var info = […]

如何在leaflet.js中设置layer.control的样式?

我正在尝试更改图层控件中的默认下拉菜单图标。 我想在图标旁边放置文字。 有没有办法做到这一点? 也许使用JQuery和CSS? 我正在基于这个例子开发一个传单项目: http : //leafletjs.com/examples/layers-control.html 码: Leaflet Layers Control Example var cities = new L.LayerGroup(); L.marker([39.61, -105.02]).bindPopup(‘This is Littleton, CO.’).addTo(cities), L.marker([39.74, -104.99]).bindPopup(‘This is Denver, CO.’).addTo(cities), L.marker([39.73, -104.8]).bindPopup(‘This is Aurora, CO.’).addTo(cities), L.marker([39.77, -105.23]).bindPopup(‘This is Golden, CO.’).addTo(cities); var cmAttr = ‘Map data © 2011 OpenStreetMap contributors, Imagery © 2011 Clou dMade’, cmUrl = ‘http://{s}.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/{styleId}/256/{z}/{x}/{y}.png’; […]

触发单击传单标记

我在地图上有一堆传单标记。 每个标记都保存在arraysmarkers 。 标记是动态创建的(在ajax调用期间)。 var markers = []; . . var marker = L.marker([mar.lat, mar.lng], { // …build the marker… } marker._leaflet_id = mar.id; // give the marker an id corresponding to the id of its corresponding div var myHoverIcon = L.icon({ iconUrl: mar.imgUrl, iconSize: [40, 40], popupAnchor: [0, 0] }); marker.on(‘click’, function(e) { alert(‘Marker […]