Ergänze das hier:
...
map.on('draw:created', function(e) {
if(e.layerType === 'polygon') {
var area = L.GeometryUtil.geodesicArea(e.layer.getLatLngs());
console.log(area);
}
...
Also du hast ja das “map.on(‘draw:created’, …” bereits, dort halt ergänzen. In “area” hast du dann als Dezimalwert die Fläche in qm.
Des weiteren würde ich empfehlen im HTML dein Suchformular so zu schreiben:
<form id="search">
<input type="text" name="addr" value="" id="addr" size="10" />
<input type="submit" value="Suchen">
<div id="results"/>
</form>
<script src="map.js"></script>
Dann ist es wirklich ein Formular und somit funktioniert im Eingabefeld auch das Enter-Drücken.
Das JS musst du dann anpassen. Statt das im HTML drin steht, was “onclick” passieren soll (Enter-Drücken ist ja kein Click ;-), wird das jetzt im JS angegben, das entsprechende Funktion beim Formular-Absenden (egal wie das passiert) eben reagiert:
// Funktion ADRESSE suchen
$(document).ready(function() {
$('#search').submit(function(e) {
e.preventDefault();
var inp = document.getElementById("addr");
$.getJSON('https://nominatim.openstreetmap.org/search?format=json&limit=5&q=' + inp.value, function(data) {
var items = [];
$.each(data, function(key, val) {
bb = val.boundingbox;
items.push("<li><a href='#' onclick='chooseAddr(" + bb[0] + ", " + bb[2] + ", " + bb[1] + ", " + bb[3] + ", \"" + val.osm_type + "\");return false;'>" + val.display_name + '</a></li>');
});
$('#results').empty();
if(items.length != 0) {
$('<p>', { html: "Gefundene Adressen:" }).appendTo('#results');
$('<ul/>', { 'class': 'my-new-list', html: items.join('') }).appendTo('#results');
} else {
$('<p>', { html: "Es konnte keine Adresse gefunden werden." }).appendTo('#results');
}
});
});
});
Das “$(document).ready(function() {” sorgt dafür, dass der Teil darin erst ausgeführt wird, wenn der Browser auch das ganze HTML-Dokument geladen hat.
Und dann “$(‘#search’).submit(function(e) {” sorgt eben für das Hören auf den Absende-Event.
Das “e.preventDefault();” sorgt dafür, dass die Seite nicht neuläd, weil das normalerweise bei einem HTML-Formular passiert (Eingaben werden halt normalerweise z.B. an eine PHP-Seite geschickt, aber hier macht es ja alles das JS selbst).
Edit, achja und vergiss im CSS nicht aus “div#search {” einfach nur “#search {” zu machen, denn das div wurde ja zu einem form 