使用 geojson 多边形的鼠标悬停操作
Mouseover actions with geojson polygon
第一次在 Leaflet 中使用 geojson 多边形。我想添加以下操作:
1.鼠标悬停变色
2. 点击超链接到 url
这是多边形层的代码。
/* Overlay Layers */
var boroughs = L.geoJson(null, {
style: function (feature) {
return {
color: "blue",
fill: false,
opacity: 1,
clickable: true
};
},
$.getJSON("data/boroughs.geojson", function (data) {
boroughs.addData(data);
});
L.GeoJSON 的选项有一个 onEachFeature 选项,我看到您在源代码中广泛使用了该选项。它采用一个带有两个参数的函数,feature(包含 geojson 特征)和 layer(包含对实际多边形图层的引用)该图层支持您可以挂钩的鼠标事件。例如:
var layer = new L.GeoJSON(null, {
onEachFeature: function (feature, layer) {
layer.on('mouseover', function () {
this.setStyle({
'fillColor': '#0000ff'
});
});
layer.on('mouseout', function () {
this.setStyle({
'fillColor': '#ff0000'
});
});
layer.on('click', function () {
// Let's say you've got a property called url in your geojsonfeature:
window.location = feature.properties.url;
});
}
}).addTo(map);
这是显示 geojson 多边形的工作代码,使用 geojson 中的 'URL' 字段进行鼠标悬停和点击超链接。
var districts = L.geoJson(null, {
style: function (feature) {
return {
color: "green",
fill: true,
opacity: 0.8
};
},
onEachFeature(feature, layer) {
layer.on('mouseover', function () {
this.setStyle({
'fillColor': '#0000ff'
});
});
layer.on('mouseout', function () {
this.setStyle({
'fillColor': '#ff0000'
});
});
layer.on('click', function () {
window.location = feature.properties.URL;
});
}
});
$.getJSON("data/districts.geojson", function (data) {
districts.addData(data);
});
第一次在 Leaflet 中使用 geojson 多边形。我想添加以下操作: 1.鼠标悬停变色 2. 点击超链接到 url
这是多边形层的代码。
/* Overlay Layers */
var boroughs = L.geoJson(null, {
style: function (feature) {
return {
color: "blue",
fill: false,
opacity: 1,
clickable: true
};
},
$.getJSON("data/boroughs.geojson", function (data) {
boroughs.addData(data);
});
L.GeoJSON 的选项有一个 onEachFeature 选项,我看到您在源代码中广泛使用了该选项。它采用一个带有两个参数的函数,feature(包含 geojson 特征)和 layer(包含对实际多边形图层的引用)该图层支持您可以挂钩的鼠标事件。例如:
var layer = new L.GeoJSON(null, {
onEachFeature: function (feature, layer) {
layer.on('mouseover', function () {
this.setStyle({
'fillColor': '#0000ff'
});
});
layer.on('mouseout', function () {
this.setStyle({
'fillColor': '#ff0000'
});
});
layer.on('click', function () {
// Let's say you've got a property called url in your geojsonfeature:
window.location = feature.properties.url;
});
}
}).addTo(map);
这是显示 geojson 多边形的工作代码,使用 geojson 中的 'URL' 字段进行鼠标悬停和点击超链接。
var districts = L.geoJson(null, {
style: function (feature) {
return {
color: "green",
fill: true,
opacity: 0.8
};
},
onEachFeature(feature, layer) {
layer.on('mouseover', function () {
this.setStyle({
'fillColor': '#0000ff'
});
});
layer.on('mouseout', function () {
this.setStyle({
'fillColor': '#ff0000'
});
});
layer.on('click', function () {
window.location = feature.properties.URL;
});
}
});
$.getJSON("data/districts.geojson", function (data) {
districts.addData(data);
});