リーフレットのドキュメント:http://leafletjs.com/reference-1.2.0.html#circlemarker CircleMakerはCircleを拡張し、半径はメートルではなくピクセル単位で指定されていることを除いて同じことを言います地図をズームしても一定の大きさになります。リーフレット:CircleMarkerとは異なる動作をする円
マップ上に100mの円を描画しようとしているので、サークルが必要です。
var geojsonLayer = new L.GeoJSON(null,{
pointToLayer: function (latlng){
return new L.CircleMarker(latlng, {
radius: 5,
fillColor: "#ff7800",
color: "#000",
weight: 1,
opacity: 1,
fillOpacity: 0.8,
});
}});
map.addLayer(osm);
map.addLayer(geojsonLayer);
geojsonLayer.addGeoJSON(jsonExample);
私はマップ全体の読み込みに失敗した代わりにCircleMakerの「サークル」を使用するようにコードを変更する場合、これは、しかし、完璧に動作し、私はjavascriptのエラーが表示されます。これを行うには、私は次のコードを使用します。
Error: Error: Invalid LatLng object: (56.229917, NaN)
Iは、緯度と経度の両方を欠いている、これらの点を除去するためにGeoJSONをプレフィルタリングすることによりこの問題を解決することができ、私は困惑している:サークルとCircleMakerの両方それらが仕様としてのLatLngオブジェクトを取るように指定します特定のLatLngオブジェクトがCircleMarkerの中心点としてどのように有効であるかを知ることはできませんが、Circleの中心点として使用される場合は無効です。
明らかに何かを見落としているのですか、これは単なるリーフレットの弱点やバグですか?
恐ろしい!ありがとうございました。これは一般的に価値があると思われるので、パッチはリーフレットの開発者にも送られなければならないと思います。 – Agrajag
これはどういうことでしたか? –
これに関するアップデートはありますか? – kuanb