You are not logged in.
- Topics: Active | Unanswered
Announcement
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***
#1 2017-04-09 21:57:37
- fox_bw
- Member
- Registered: 2016-12-01
- Posts: 31
Limit bei der Anzeige von Markern?
Guten Abend zusammen,
ich habe eine Datenbank mit mehreren hunderten von Daten mit Geodaten. Diese wollte ich nun in einer Karte (Leaflet/OSM) anzeigen lassen. Allerdings zeigt die Karte nur 275 Markers an (habe ich händisch ausprobiert); ab 276 wird dann die ganze Karte nicht mehr angezeigt?
Gibt es ein Limit bei den Markern (wäre schade für mich)?
Ist es ein anderer Fehler? Wenn ja wie kann man sich die Fehler anzeigen lassen?
Hat jemand eine andere Idee warum es nicht funktioniert?
Vielen Dank für Eure Antworten im Voraus.
fox_bw
Offline
#3 2017-04-10 08:52:05
- dooley
- Member

- From: Landkreis Calw
- Registered: 2013-11-04
- Posts: 899
Re: Limit bei der Anzeige von Markern?
Guten Abend zusammen,
ich habe eine Datenbank mit mehreren hunderten von Daten mit Geodaten. Diese wollte ich nun in einer Karte (Leaflet/OSM) anzeigen lassen. Allerdings zeigt die Karte nur 275 Markers an (habe ich händisch ausprobiert); ab 276 wird dann die ganze Karte nicht mehr angezeigt?
Gibt es ein Limit bei den Markern (wäre schade für mich)?
Ist es ein anderer Fehler? Wenn ja wie kann man sich die Fehler anzeigen lassen?
Hat jemand eine andere Idee warum es nicht funktioniert?Vielen Dank für Eure Antworten im Voraus.
fox_bw
Nein, es gibt kein Limit. Ich habe testweise schon rund 80.000 auf einer Fullscreen-Karte gehabt, die Verarbeitung und das Handling sind dann allerdings eine Qual.
Du kannst in der Browser-Konsole den Netzwerkverkehr überwachen und die Daten anschauen. Mach die Konsole auf und reloade die Seite. Dann suchst du dir der Request raus, der die Daten beinhaltet. Wenn da alle drin sind, sollte eigentlich ein Javascript-Fehler in der Konsole sichtbar sein. Ansonsten wäre ein Link hilfreich.
Zum Zustand des deutschen Forums vom geschätzten Netzwolf auch "Pamphlet" genannt
Mein Avatar ist ein Ausschnitt aus "Die Saporoger Kosaken schreiben dem türkischen Sultan einen Brief" (Ilja Repin, gemeinfrei)
Offline
#4 2017-04-15 23:23:01
- fox_bw
- Member
- Registered: 2016-12-01
- Posts: 31
Re: Limit bei der Anzeige von Markern?
Hallo zusammen,
vielen Dank für Eure Anmerkungen.
Der Hinweis mit den Clustern ist gut. Allerdings kenne ich mich mit diesen überhaupt nicht aus.
Hier ist mein bisheriger Quellcode
var map = L.map('map').setView([48.0000000, 9.3000000], 11);
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
var current;
for (var i = 0; i < geodaten.length; i++) {
var current = geodaten[i];
L.marker([current.latitude, current.longitude]).addTo(map)
.bindPopup(current.name);
}Kann mir jemand helfen was ich genau anpassen muss, damit das mit den Clustern funktioniert? Wäre Euch sehr dankbar und vielen Dank im Voraus.
fox_bw
Offline
#5 2017-04-15 23:44:08
- seichter
- Member
- Registered: 2011-05-21
- Posts: 3,337
Re: Limit bei der Anzeige von Markern?
Steht im Link von #2.
Grundprinzip: Erst Marker in ClusterGroup sammeln, dann diese zu map hinzufügen.
var markers = new L.MarkerClusterGroup();
//Schleife
...
markers.addLayer(L.marker([current.latitude, current.longitude]));
...
map.addLayer(markers);Offline
#6 2017-04-16 20:32:08
- fox_bw
- Member
- Registered: 2016-12-01
- Posts: 31
Re: Limit bei der Anzeige von Markern?
Guten Abend,
ich habe den Code eingefügt, aber es funktioniert leider nicht.
Es wird nur die Karte angezeigt, ohne die ganzen Punkte und die Cluster sind auch nicht zu sehen.
Hier mein Code:
console.log(geodaten);
var map = L.map('map').setView([48.7122900, 9.3087000], 11);
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
var current;
var markers = new L.MarkerClusterGroup();
for (var i = 0; i < geodaten.length; i++) {
var current = geodaten[i];
L.marker([current.latitude, current.longitude]).addTo(map)
.bindPopup(current.name);
markers.addLayer(L.marker([current.latitude, current.longitude]));
}
map.addLayer(markers);Habe ich etwas falsch gemacht? In "geodaten" stecken meine ganzen Punkte.
Vielen Dank für Eure Bemühungen im Voraus.
fox_bw
Offline
#7 2017-04-17 20:08:11
- fox_bw
- Member
- Registered: 2016-12-01
- Posts: 31
Re: Limit bei der Anzeige von Markern?
Hallo,
ich habe eine Karte mit monentan ca. 7000 Ortsmarkierungen in Baden-Württemberg (Anzahl ansteigend). Das ist ziemlich unübersichtlich. Ich bin auf die Variante mit den Clustern aufmerksam geworden. Ich habe versucht dies in meinen Quellcode einzubauen (siehe Code im folgenden):
console.log(geodaten);
var map = L.map('map').setView([48.7122900, 9.3087000], 11);
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
var current;
var markers = new L.MarkerClusterGroup();
for (var i = 0; i < geodaten.length; i++) {
var current = geodaten[i];
L.marker([current.latitude, current.longitude]).addTo(map)
.bindPopup(current.name);
markers.addLayer(L.marker([current.latitude, current.longitude]));
map.addLayer(markers);
}Muss ich hier noch etwas einbinden? CSS-Datei oder ähnliches? Muss ich die leaflet.markerCluster-Dateien installieren? Ich benutze momentan die Online-Karte von OSM habe also keine lokale OSM-Version. Außerdem lade ich die Geodaten aus meiner Datenbank.
Über jegliche Hilfe wäre ich dankbar.
Falls Ihre weitere Informatonen benötigt, dann bitte kurz melden.
fox_bw
Offline
#8 2017-04-17 20:43:10
- Harald Hartmann
- Member

- From: 98667 Schönbrunn
- Registered: 2014-04-02
- Posts: 3,123
- Website
Re: Limit bei der Anzeige von Markern?
Du hast doch sicherlich diese readme durchgearbeitet, oder? Dort beantwortet sich z.B. die Frage, ob du noch CSS (und leaflet.markerCluster) Dateien einbinden musst.
Leider hast du hier ja nicht mehr dazu geschrieben, was nicht geht, bzw. was dir fehlt .. im anderen Thread hast du ja wenigstens noch erwähnt, dass überhaupt keine Marker und nur die blanke Karte angezeigt wird.
Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD
Offline
#9 2017-04-17 20:48:54
- mmd
- Member
- Registered: 2010-11-06
- Posts: 2,150
Re: Limit bei der Anzeige von Markern?
Guck mal hier rein, kannst du wahrscheinlich mehr oder weniger so kopieren:
http://leaflet.github.io/Leaflet.marker … d.388.html
Ach ja, die gleiche Frage gleich 2x in verschiedenen Threads zu posten ist nicht so wirklich hilfreich.
Last edited by mmd (2017-04-17 20:51:20)
Offline
#10 2017-04-17 20:53:22
- fox_bw
- Member
- Registered: 2016-12-01
- Posts: 31
Re: Limit bei der Anzeige von Markern?
Guten Abend Harald Hartmann,
vielen Dank für deine Antwort.
Ich habe die Readme gerade erste gefunden und gelesen. Für mich liest sich diese Anleitung aber so, als ob ich die "leaflet.markercluster" installieren muss. Bisher bin ich davon ausgegangen dass ich nichts installieren muss. Wenn ich etwas installieren muss ist da ja lokal und die Leaflet-Karte benutze ich online. Das passt für nicht zusammen. Deshalb meine Frage, ob ich etwas installieren muss oder ob ich nur darauf referenzieren muss?
An meiner Anzeige hat sich bisher nichts geändert; kein Marker wird dargestellt. Aber wie gesagt ich habe auch eben erst die Readme gefunden.
Vielen Dank für Eure Hilfe im Voraus.
fox_bw
Offline
#11 2017-04-17 22:18:21
- fox_bw
- Member
- Registered: 2016-12-01
- Posts: 31
Re: Limit bei der Anzeige von Markern?
Guten Abend mmd,
vielen Dank für deine Antwort.
Deinen Link habe ich gleich ausprobiert und bei mir eingefügt.
Mein Code sieht folgendemaßen aus:
<script>
console.log(geodaten);
var tiles = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
maxZoom: 18,
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors, Points © 2012 LINZ'
}),
latlng = L.latLng(48.7122900, 9.3087000);
var map = L.map('map', {center: latlng, zoom: 11, layers: [tiles]});
var markers = L.markerClusterGroup();
for (var i = 0; i < geodaten.length; i++) {
var a = geodaten[i];
var title = a[2];
var marker = L.marker(new L.LatLng(a[15], a[16]), { title: title });
marker.bindPopup(title);
markers.addLayer(marker);
}
map.addLayer(markers);
</script>In "geodaten" sind meine Daten aus der Datenbank enthalten.
Am Anfang meiner Datei habe ich die beiden Dateien noch eingefügt:
<link rel="stylesheet" href="Leaflet.markercluster-master/dist/MarkerCluster.css" />
<link rel="stylesheet" href="Leaflet.markercluster-master/dist/MarkerCluster.Default.css" />Wenn ich nun die Datei ausfülle erscheinen weiterhin keiner Marker auf der Karte.
In der Konsole von Firefox steht der Fehler:
"TypeError: L.markerClusterGroup is not a function"
Kann mir an dieser Stelle jemand weiterhelfen?
fox_bw
P.S.: Sorry für den 2. Thread. Ich dachte, dass meine weitere Frage nicht mehr zum 1. Thread passte.
Offline
#12 2017-04-17 22:21:11
- wambacher
- Member

- From: Schlangenbad/Wambach, Germany
- Registered: 2009-12-16
- Posts: 16,769
- Website
Re: Limit bei der Anzeige von Markern?
Wenn ich etwas installieren muss ist da ja lokal und die Leaflet-Karte benutze ich online. Das passt für nicht zusammen. Deshalb meine Frage, ob ich etwas installieren muss oder ob ich nur darauf referenzieren muss?
fox_bw
leaflet.markercluster ist ein Plugin für leaflet. Und diese müssen normalerweise lokal installiert werden.
Gruss
walter
Last edited by wambacher (2017-04-17 22:21:50)
Offline
#13 2017-04-17 22:25:30
- wambacher
- Member

- From: Schlangenbad/Wambach, Germany
- Registered: 2009-12-16
- Posts: 16,769
- Website
Re: Limit bei der Anzeige von Markern?
Kann mir an dieser Stelle jemand weiterhelfen?
Mach in deinem Browser die Console auf (FF: SHIFT STRG K) und lass das Teil laufen. Dann siehst du alle Laufzeitfehler.
Gruss
walter
Offline
#14 2017-04-17 22:32:12
- kartler175
- Member
- Registered: 2012-09-10
- Posts: 326
Re: Limit bei der Anzeige von Markern?
Am Anfang meiner Datei habe ich die beiden Dateien noch eingefügt:
<link rel="stylesheet" href="Leaflet.markercluster-master/dist/MarkerCluster.css" /> <link rel="stylesheet" href="Leaflet.markercluster-master/dist/MarkerCluster.Default.css" />
Und wo hast du das Javascript für das Clustern eingebunden?
Offline
#15 2017-04-17 22:33:17
- fox_bw
- Member
- Registered: 2016-12-01
- Posts: 31
Re: Limit bei der Anzeige von Markern?
Guten Abend wambacher,
vielen Dank für die Antworten.
Ich habe die Konsole in FF gestartet und da kommt eben dieser Fehler:
TypeError: L.markerClusterGroup is not a function[Weitere Informationen] karte-baustelle-alle-osm-cluster.php:60569:17
<anonym> http://localhost/Projektverwaltung/geo/karte-baustelle-alle-osm-cluster.php:60569:17
fox_bw
Offline
#16 2017-04-17 22:50:51
- fox_bw
- Member
- Registered: 2016-12-01
- Posts: 31
Re: Limit bei der Anzeige von Markern?
Guten Abend,
hatte die
<script src="../dist/leaflet.markercluster-src.js"></script>vergessen.
Nun erscheinen die Fehlermeldungen in der FF Konsole:
ReferenceError: L is not defined[Weitere Informationen] leaflet.markercluster-src.js:10:1
<anonym> http://localhost/Projektverwaltung/geo/Leaflet.markercluster-1.0.4/dist/leaflet.markercluster-src.js:10:1
<anonym> http://localhost/Projektverwaltung/geo/Leaflet.markercluster-1.0.4/dist/leaflet.markercluster-src.js:6:2
TypeError: L.markerClusterGroup is not a function[Weitere Informationen] karte-baustelle-alle-osm-cluster.php:60570:17
<anonym> http://localhost/Projektverwaltung/geo/karte-baustelle-alle-osm-cluster.php:60570:17
fox_bw
Offline
#17 2017-04-17 23:17:47
- dooley
- Member

- From: Landkreis Calw
- Registered: 2013-11-04
- Posts: 899
Re: Limit bei der Anzeige von Markern?
Wenn L not defined ist, kann die Cluster-Lib auch nicht auf L zugreifen (L wie Leaflet). Du hast die Bibliotheken wahrscheinlich in falscher Reihenfolge geladen oder dein Code wird ausgeführt, bevor die nötigen Bibliotheken geladen sind.
Versuche, den Code hier http://leaflet.github.io/Leaflet.marker … d.388.html nachzuvollziehen. Die Source kannst du dir mit Rechtsklick -> "Seitenquelltext anzeigen" anzeigen lassen.
Bitte versuche zu verstehen, warum was da steht, wo es steht und was zu welchem Zeitpunkt ausgeführt wird.
Zum Zustand des deutschen Forums vom geschätzten Netzwolf auch "Pamphlet" genannt
Mein Avatar ist ein Ausschnitt aus "Die Saporoger Kosaken schreiben dem türkischen Sultan einen Brief" (Ilja Repin, gemeinfrei)
Offline
#18 2017-04-18 12:04:43
- fox_bw
- Member
- Registered: 2016-12-01
- Posts: 31
Re: Limit bei der Anzeige von Markern?
Hallo dooley,
vielen Dank für Deine Hinweise.
Es war tatsächlich ein eingebundenes Script nicht an der richtigen Stelle.
Jetzt taucht bei mir die Fehlermeldung auf, dass etwas mit den Koordinaten für die Zentriierung der Karte nicht stimmt:
Error: Invalid LatLng object: (NaN, NaN) leaflet.js:6:13622
o.LatLng http://cdn.leafletjs.com/leaflet/v0.7.7 … js:6:13622
<anonym> http://localhost/Projektverwaltung/geo/karte-baustelle-alle-osm-cluster.php:60575:26
Mein Code sieht an der Stelle folgendermaßen aus:
latlng = L.latLng(48.7122900, 9.3087000);Der Code in deinem genannten Beispiel sieht so aus:
latlng = L.latLng(-37.82, 175.24);Außer dass es weniger Nachkommastellen sind, kann ich keinen Unterscheid erkennen. Auch wenn ich die weiteren Nachkommastellen entferne erscheint die selbe Fehlermeldung.
Was ist hier anders?
fox_bw
Offline
#19 2017-04-18 12:18:32
- mmd
- Member
- Registered: 2010-11-06
- Posts: 2,150
Re: Limit bei der Anzeige von Markern?
Ich frage mich, ob nicht einer deiner Marker-Werte "leer" ist, also keine numerische lat/lon-Werte hat. Das könnte zu diesem Fehler führen.
Ist die Zeile hier:
http://localhost/Projektverwaltung/geo/karte-baustelle-alle-osm-cluster.php:60575:26
wirklich die Zeile die du oben genannt hast, oder vielleicht doch die folgende?
new L.LatLng(a[15], a[16])Last edited by mmd (2017-04-18 12:39:07)
Offline
#20 2017-04-18 12:46:12
- kartler175
- Member
- Registered: 2012-09-10
- Posts: 326
Re: Limit bei der Anzeige von Markern?
Der Code in deinem genannten Beispiel sieht so aus:
latlng = L.latLng(-37.82, 175.24);
Nein, er sieht so aus:
var tiles = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
maxZoom: 18,
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors, Points © 2012 LINZ'
}),
latlng = L.latLng(-37.82, 175.24);Das ist etwas anderes, als Du hier zeigst.
Du solltest dich wirklich bemühen, zu verstehen, was Du an welcher Stelle warum machst, anstatt blind herumzuprobieren und wenn etwas wieder nicht funktioniert, an Hand von Fehlermeldungen (immerhin) und aus dem Zusammenhang gerissenen Codeschnipseln uns hier raten zu lasen, was Du nicht richtig abkopiert hast.
Offline
#21 2017-04-18 12:57:17
- fox_bw
- Member
- Registered: 2016-12-01
- Posts: 31
Re: Limit bei der Anzeige von Markern?
Guten Tag kartler175,
entschuldigt bitte, ich werde mich bemühen.
Ja, es ist die falsche Stelle die ich Euch genannt habe. Es gibt tatsächlich ein Stück weiter die Bezeichnung "LatLng":
var marker = L.marker(new L.LatLng(a[15], a[16]), { title: title });Ich verstehe es so, dass in meinem Array "a" etwas nicht korrekt übergeben wird.
Ich bin auf der Fehlersuche. Ich melde mich, falls ich nicht mehr weiterkomme.
Danke trotzdem für Eure Mithilfe.
fox_bw
Offline
#22 2017-04-18 13:24:30
- dooley
- Member

- From: Landkreis Calw
- Registered: 2013-11-04
- Posts: 899
Re: Limit bei der Anzeige von Markern?
Ich verstehe es so, dass in meinem Array "a" etwas nicht korrekt übergeben wird.
So ist es.
Zum debuggen kannst du dir die Werte in der Javascript-Knsole ausgeben lassen:
try {
var marker = L.marker(new L.LatLng(a[15], a[16]), { title: title });
} catch (error) {
console.log('>a15< ist vom Typ >%s< mit Inhalt >%s<', typeof a[15], a[15]);
console.log('>a16< ist vom Typ >%s< mit Inhalt >%s<', typeof a[16], a[16]);
console.log(error);
}Durch das try-catch-Konstrukt wird in der Konsole nur etwas ausgegeben, wenn ein Fehler innerhalb des try's auftritt. Aber Achtung: dadurch wird der weitere Ablauf des Scripts nicht unterbrochen, sprich, was danach kommt, wird ausgeführt. Auch wenn jetzt Marker und Cluster zu sehen sind, musst du zwingend in der Konsole nachschauen, ob die Fehlermeldungen weiterhin kommen. Ansonsten fehlen dir Marker auf der Karte.
Zum Zustand des deutschen Forums vom geschätzten Netzwolf auch "Pamphlet" genannt
Mein Avatar ist ein Ausschnitt aus "Die Saporoger Kosaken schreiben dem türkischen Sultan einen Brief" (Ilja Repin, gemeinfrei)
Offline
#23 2017-04-18 14:40:24
- wambacher
- Member

- From: Schlangenbad/Wambach, Germany
- Registered: 2009-12-16
- Posts: 16,769
- Website
Re: Limit bei der Anzeige von Markern?
Zum debuggen kannst du dir die Werte in der Javascript-Knsole ausgeben lassen:
Oder gleich den eingebauten Debugger verwenden ![]()
ist für einen JS-Newbie natürlich etwas heftig.
Gruss
walter
Offline
#24 2017-04-19 12:49:47
- fox_bw
- Member
- Registered: 2016-12-01
- Posts: 31
Re: Limit bei der Anzeige von Markern?
Hallo zusammen,
vielen Dank für Eure Hinweise.
Wenn ich eines hier gelernt habe, dann ist es die Konsole von FF viel mehr zu nutzen. Ich programmiere bereits seit Jahren HTML/PHP aber habe die Konsole bisher nicht genutzt. Aber ich muss feststellen, dass diese sehr hilfreich ist. Auch den Debugger habe ich mir angeschaut und versucht zusammen mit der Konsole zu nutzen.
Ich bin nun einen Schritt weiter und bin an einem Punkt angelangt wo ich Eure Hilfe benötige. Anbei mein kompletter Code:
<!DOCTYPE html>
<html lang="de">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet/v0.7.7/leaflet.css" />
<script src="http://cdn.leafletjs.com/leaflet/v0.7.7/leaflet.js"></script>
<link rel="shortcut icon" href="../images/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="../styles.css" type="text/css" />
<link rel="stylesheet" href="Leaflet.markercluster-1.0.4/dist/MarkerCluster.css" />
<link rel="stylesheet" href="Leaflet.markercluster-1.0.4/dist/MarkerCluster.Default.css" />
<script src="Leaflet.markercluster-1.0.4/dist/leaflet.markercluster-src.js"></script>
<title>Karte</title>
</head>
<body>
<div id="map" style="width:98%; height:900px; margin-left:auto; margin-right:auto"></div>
<script type="text/javascript">
// Variable / Array zur Speicherung aller Infos
var geodaten = [];
<?php
// Verbindung mit DB-Server und der DB herstellen
require($_SERVER['DOCUMENT_ROOT']."/Projektverwaltung/includes/server.inc");
$Verbindung = mysqli_connect($host,$user,$pass,$db)
or die ("Fehler: ".mysqli_errno($Verbindung).", ".mysqli_error($Verbindung));
// Zeichensatz explizit setzen
mysqli_query($Verbindung,"SET NAMES 'utf8'");
// Abfrage formulieren
$sql = "SELECT * FROM mark_ort_geo WHERE (inaktiv=0 AND lat>0 AND lng>0)";
if ($result = mysqli_query($Verbindung, $sql)) {
// Zugriff auf alle zurückgelieferten Zeilen
while ($row = mysqli_fetch_row($result)):
?>
// *** JavaScript ***
// Hier füllen wir unser JavaScript-Array mit den einzelnen
// Einträgen aus der Datenbank
// [JSON-Objekt (JavaScript Object Notation)]
// echo '<b>'.$row[1].'</br>'.$row[3].'</b><br/>'.$row[4].' '.$row[5].'<br/>'.$row[6].' '.$row[7].'<br/><a href=details.php?ID='.$row[0].'>>>> Weitere Infos</a> ';
geodaten.push({
'name': "<?php echo $row[1]; ?>",
'latitude': '<?php echo $row[15]; ?>',
'longitude': '<?php echo $row[16]; ?>'
});
// *** Ende JavaScript ***
<?php
endwhile;
}
// Aufräumen
mysqli_free_result($result);
mysqli_close($Verbindung);
?>
console.log(geodaten);
var tiles = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
maxZoom: 18,
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors, Points © 2012 LINZ'
}),
latlng = new L.latLng(48.7122900, 9.3087000);
var map = L.map('map', {center: latlng, zoom: 11, layers: [tiles]});
var markers = L.MarkerClusterGroup();
for (var i = 0; i < geodaten.length; i++) {
var a = geodaten[i];
console.log(geodaten[i]);
console.log(a.name);
try {
var marker = L.marker(new L.LatLng([a.latitude], [a.longitude]), { title: a.name });
console.log('>a.latitude< ist vom Typ >%s< mit Inhalt >%s<', typeof [a.latitude], [a.latitude]);
console.log('>a.longitude< ist vom Typ >%s< mit Inhalt >%s<', typeof [a.longitude], [a.longitude]);
console.log('>a.name< ist vom Typ >%s< mit Inhalt >%s<', typeof [a.name], [a.name]);
} catch (error) {
console.log('>a.latitude< ist vom Typ >%s< mit Inhalt >%s<', typeof [a.latitude], [a.latitude]);
console.log('>a.longitude< ist vom Typ >%s< mit Inhalt >%s<', typeof [a.longitude], [a.longitude]);
console.log('>a.name< ist vom Typ >%s< mit Inhalt >%s<', typeof [a.name], [a.name]);
console.log(error);
}
console.log(a.name);
marker.bindPopup(a.name);
markers.addLayer(marker);
}
map.addLayer(markers);
</script>
</body>
</html>Die Konsole liefert folgende Werte zurück:
Object { name: "30-07", latitude: "48.641956", longitude: "9.474610" }
30-07
>a.latitude< ist vom Typ >object< mit Inhalt >48.641956<
>a.longitude< ist vom Typ >object< mit Inhalt >9.474610<
>a.name< ist vom Typ >object< mit Inhalt >30-07<
30-07
TypeError: markers is undefined[Weitere Informationen]
<anonym> http://localhost/Projektverwaltung/geo/karte-baustelle-alle-osm-cluster.php:95375:4
Im Debugger wird bei der Fehlermeldung die Zeile
markers.addLayer(marker);markiert.
An dieser Stelle bin ich jetzt etwas ratlos. Kann mir jemand weiterhelfen?
fox_bw
Offline
#25 2017-04-19 13:38:56
- dooley
- Member

- From: Landkreis Calw
- Registered: 2013-11-04
- Posts: 899
Re: Limit bei der Anzeige von Markern?
a) Find the difference:
var markers = L.markerClusterGroup();
var markers = L.MarkerClusterGroup();Hint: So ziemlich alle Leaflet-Funktionsnamen gibt es mit Groß- oder Kleinbuchstaben als 1stem Zeichen. Wenn GROß, dann mit new instantiieren, wenn klein, dann ohne new.
b) Du möchtest Latitude und Longitude zur weiteren Verwendung in Leaflet als Nummern (genauer als Floats) behandelt wissen. Mit deiner Objekt-Notation werden das Strings, nicht Floats. Wie das zu ändern ist, überlasse ich dir zum nachlesen.
Zum Zustand des deutschen Forums vom geschätzten Netzwolf auch "Pamphlet" genannt
Mein Avatar ist ein Ausschnitt aus "Die Saporoger Kosaken schreiben dem türkischen Sultan einen Brief" (Ilja Repin, gemeinfrei)
Offline