こんにちは ローカルのホストシェイプファイルを表示するために、リーフレットを実装しようとしました。シェイプファイルの表示は機能しますが、レイヤーコントロール(トグルシェイプファイルレイヤー)を追加します。 プラグインのリンク:https://github.com/calvinmetcalf/shapefile-jsリーフレットとレイヤーコントロールを持つシェイプファイルを表示
デモリンク:http://leaflet.calvinmetcalf.com/#3/32.69/10.55
私はデモページ
<script>
var m = L.map('map').setView([0, 0 ], 10);
var watercolor =
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: 'Map tiles by <a href="http://stamen.com">Stamen
Design</a>, <a href="http://creativecommons.org/licenses/by/3.0">CC BY
3.0</a> — Map data © <a
href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a
href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>'
}).addTo(m);
var shpfile = new L.Shapefile('Fr_adm.zip', {
onEachFeature: function(feature, layer) {
if (feature.properties) {
layer.bindPopup(Object.keys(feature.properties).map(function(k) {
return k + ": " + feature.properties[k];
}).join("<br />"), {
maxHeight: 200
});
}
}
});
shpfile.addTo(m);
shpfile.once("data:loaded", function() {
console.log("finished loaded shapefile");
});
// initialize stylable leaflet control widget
var control = L.control.UniForm(null, overlayMaps, {
collapsed: false,
position: 'topright'
}
);
// add control widget to map and html dom.
control.addTo(m);
</script>
Fr_adm.zipが表示されているシェープファイル上の層の制御、ない層制御を実装したいです。 ありがとうございます。