Danke Matthias.
Ich war unterwegs, nun befasse ich mich wieder mit dieser Problematik und mit den DOM-Manipulationen als Lösung.
Leider fand ich keine Beispiele die näher am Problem wären. Der folgende code (bitte nicht laut lachen) tut dasselbe wie vorher: erzeugt popup und Kreis beim Klicken, löscht aber nur popup.
Die Kopplung parent/child ist mir nicht gelungen, sie ist mir in der Kodierung zu abstrakt. Die Auskommentierungen zeigen dass ich mich bemüht habe.
Bitte nochmals um Tipps, Danke im Voraus.
Henrique
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Munich Orientation Convention</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.2/leaflet.css" />
<style type="text/css">
#map { height: 60%; }
</style>
</head>
<body>
<div id="map" style="width: 1000px; height: 600px"></div>
<script src="http://cdn.leafletjs.com/leaflet-0.7.2/leaflet.js"></script>
<script src="FileSaver.js"></script>
<script>
var poleLat = 3.8614;
poleLon = 11.5205;
var map = L.map('map').setView([poleLat, poleLon], 11);
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png',
{attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'}
).addTo(map);
document.addEventListener('DOMContentLoaded', function () {
var popup = L.popup();
map.on('click', onMapClick);
function onMapClick(e) {
var myCircle = new L.circle([e.latlng.lat, e.latlng.lng], 3000, {color: 'red', fillOpacity: 0, weight:2});
popup.setLatLng(e.latlng).setContent("here").openOn(map);
// var parent = popup.parentNode;
document.appendChild(myCircle);
myCircle.addTo(map); // .addTo(popup) wäre zu einfach
document.addEventListener('click', removeElement);
} //onMap click
}); // DOMcontentLoaded
function removeElement(e) {
var myCircle = e.target; //var elem = e.target;
var body = document.querySelector('body');
if (body != myCircle) {
var parent = popup.parentNode; //var parent = elem.parentNode;
parent.removeChild(myCircle); //parent.removeChild(elem);
return false;
}
}
</script>
</body>
</html>