いくつかのリーフレットの達人はアイデアを持っていますか?CircleMarker draggable in リーフレットv1.0.3?リーフレットv1.03:CircleMarkerをドラッグ可能にしますか?
「ドラッグ可能な」オプションを使用すると、「標準」マーカーとして使用するのは簡単です。しかしCircleMarkerにはそのようなオプションは存在しません。私はいくつかのイベントを使って試しましたが、問題は、マーカーが移動されているのではなく、基礎となるマップです。
もう1つの可能性は、"stopPropagation" -Function(ただし、DOMEventsのみ)の使用です。 "removeEventParent" ... CircleMarkerの "親"が地図とそのイベントの場合は、 ドキュメントに関してもDOMUtility/Draggable -class。これは私が必要とするものですか?それを見つけた
<!DOCTYPE html>
<html>
\t <head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Draggable Markers</title>
\t \t <link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css" />
\t \t <script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script>
<style>
body {padding: 0; margin: 0;}
html, body, #map {height: 100%;}
</style>
\t </head>
\t
\t <body>
\t \t <div id="map"></div>
\t \t <script>
var layerOsm = new L.TileLayer('https://{s}.api.mapbox.com/v4/mapbox.outdoors/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoicHBldGUiLCJhIjoiY2lsdmE2ZmQ2MDA4OHZxbTZpcmx1emtqbSJ9.Two7SPSaIZysqgOTrrLkRg', {
\t subdomains: 'ab', maxZoom: 20, noWrap:true, attribution:'<a href="http://www.mapbox.com">Mapbox</a> | <a href="http://www.openstreetmap.org/copyright/">OpenStreetMap</a>' });
\t \t \t var map = new L.Map('map').addLayer(layerOsm).setView(new L.LatLng(47.8, 13.0), 14);
L.marker([47.8, 13.0], {draggable:true}).addTo(map);
var circle = L.circleMarker([47.81, 13.01], {radius:30}).addTo(map);
circle.on('mousedown', function() {
map.on('mousemove', function (e) {
circle.setLatLng(e.latlng);
});
});
map.on('mouseup', function(){
map.removeEventListener('mousemove');
})
\t \t </script>
\t </body>
</html>
私は、サークルマーカーをドラッグ可能にしようとしています。私はそれが金曜日の午後は簡単なことだと思った。 –
'L.circleMarker'ではなく、[' L.divIcon() '](http://leafletjs.com/reference-1.0.3.html#divicon)を置き換えて、それがcssのサークルのように見えるようにすることができますそれはドラッグ可能にすることができます。 https://gis.stackexchange.com/a/226814/ – user2441511