Leaflet 如何缩放和更改传单中的颜色
我正在使用传单和电子邮件。这是我在搜索单张中绘制的线条时弹出框的代码:Leaflet 如何缩放和更改传单中的颜色,leaflet,mapbox,Leaflet,Mapbox,我正在使用传单和电子邮件。这是我在搜索单张中绘制的线条时弹出框的代码: var map = L.map('map').setView([1.3096622448984000, 103.7689017333800], 12); L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=token', { maxZoom: 18, attribution: '
var map = L.map('map').setView([1.3096622448984000, 103.7689017333800], 12);
L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=token', {
maxZoom: 18,
attribution: 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, ' +
'<a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
'Imagery © <a href="http://mapbox.com">Mapbox</a>',
id: 'mapbox.streets'
}).addTo(map);
map.doubleClickZoom.disable();
var info = L.control();
var options = {
position: 'topleft',
title: 'Search',
placeholder: 'enter link id ',
maxResultLength: 15,
threshold: 0.5,
showInvisibleFeatures: true,
showResultFct: function(feature, container) {
props = feature.properties;
var name = L.DomUtil.create('b', null, container);
name.innerHTML = props.id;
container.appendChild(L.DomUtil.create('br', null, container));
var cat = props.id
info = '' + cat + ', ' + 'th link';
container.appendChild(document.createTextNode(info));
}
};
var searchCtrl = L.control.fuseSearch(options);
searchCtrl.addTo(map);
var geojson;
function getColor(d) {
return d > 2000 ? '#006400' :
d > 1500 ? '#6fdc6f' :
d > 1000 ? '#6fdc6f' :
d > 500 ? '#6fdc6f' :
d > 50 ? '#FF0000' :
d > 20 ? '#c8ff58' :
d > 10 ? '#6fdc6f' :
'#fafafa';
}
function style(feature) {
return {
weight: 2,
opacity: 1,
color: '#ff0000',
fillOpacity: 0.7,
};
}
function highlightFeature(e) {
var layer = e.target;
layer.setStyle({
weight: 5,
color: '#0000FF',
dashArray: '',
fillOpacity: 0.7
});
if (!L.Browser.ie && !L.Browser.opera && !L.Browser.edge) {
layer.bringToFront();
}
info.update(layer.feature.properties);
}
function resetHighlight(e) {
geojson.resetStyle(e.target);
info.update();
}
function zoomToFeature(e) {
map.fitBounds(e.target.getBounds());
map.doubleClickZoom.disable();
}
info.update = function (props) {
this._div.innerHTML = '<h4><b>August 2016: <b></h4>' + (props ?
'<b>Link ' + props.id + '</b><br />'
: 'Hover over a link');
};
function onEachFeature(feature, layer) {
feature.layer = layer;
layer.on({
mouseover: highlightFeature,
mouseout: resetHighlight,
});
var popupContent =
'<b>Link ' + feature.properties.id + '</b>';
layer.bindPopup(popupContent);
feature.layer = layer;
}
geojson = L.geoJson(zones, {
style: style,
onEachFeature: onEachFeature
}).addTo(map);
info.onAdd = function (map) {
this._div = L.DomUtil.create('div', 'info'); // create a div with a class "info"
this.update();
return this._div;
};
searchCtrl.indexFeatures(zones.features, ['id']);
info.addTo(map);
var-map=L.map('map').setView([1.3096622448984000,103.7689017333800],12);
L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=token',{
maxZoom:18,
属性:“映射数据©;贡献者”+
', ' +
“图像”,
id:“地图盒。街道”
}).addTo(地图);
map.doubleClickZoom.disable();
var info=L.control();
变量选项={
位置:'左上',
标题:“搜索”,
占位符:“输入链接id”,
最大结果长度:15,
阈值:0.5,
showInvisibleFeatures:正确,
ShowResultCt:函数(功能、容器){
props=feature.properties;
var name=L.DomUtil.create('b',null,container);
name.innerHTML=props.id;
appendChild(L.DomUtil.create('br',null,container));
var cat=props.id
信息=“+cat+”,“+th链接”;
container.appendChild(document.createTextNode(info));
}
};
var searchCtrl=L.control.fuseSearch(选项);
searchCtrl.addTo(map);
var-geojson;
函数getColor(d){
返回d>2000?“#006400”:
d>1500?“#6fdc6f”:
d>1000?“#6fdc6f”:
d>500?“#6fdc6f”:
d>50?“#FF0000”:
d>20?“#c8ff58”:
d>10?“#6fdc6f”:
"fafafa",;
}
功能样式(特征){
返回{
体重:2,
不透明度:1,
颜色:“#ff0000”,
不透明度:0.7,
};
}
功能高亮功能(e){
var层=e.目标;
layer.setStyle({
体重:5,
颜色:'\0000FF',
dashArray:“”,
填充不透明度:0.7
});
如果(!L.Browser.ie&&!L.Browser.opera&&!L.Browser.edge){
层.bringToFront();
}
信息更新(图层、特征、属性);
}
功能重置突出显示(e){
geojson.resetStyle(e.target);
info.update();
}
函数ZoomTof性质(e){
fitBounds(e.target.getBounds());
map.doubleClickZoom.disable();
}
info.update=功能(道具){
这个._div.innerHTML='2016年8月:'+(道具?
“链接”+props.id+”
:“悬停在链接上”);
};
功能onEachFeature(功能,图层){
feature.layer=图层;
分层({
鼠标悬停:Highlight功能,
mouseout:resetHighlight,
});
var popupContent=
“Link”+feature.properties.id+”;
layer.bindPopup(弹出内容);
feature.layer=图层;
}
geojson=L.geojson(区域{
风格:风格,
onEachFeature:onEachFeature
}).addTo(地图);
info.onAdd=函数(映射){
this._div=L.DomUtil.create('div','info');//使用类“info”创建一个div
这个.update();
把这个还给我;
};
searchCtrl.indexFeatures(zones.features,['id']);
信息地址(地图);
但是,当我加载页面时,突出显示功能可以正常工作,当我搜索一行时,弹出窗口也可以正常工作。但是在搜索之后,突出显示功能不起作用,我还想放大并更改地图中该行的颜色。任何帮助都将不胜感激。遇到同样的问题并深入研究传单fusesearch代码I我想我们必须修改createResultItem函数:
该函数似乎只允许openPoup/pan和popup作为事件,在这一步添加其他事件或传递personnal函数将是有用的调试如果这是在demosite上,或者最好是在JSFIDLE上,这将非常容易