1.) Es wird mit der Startansicht begonnen, die aus dem Beispiel stammt
2.) Wird der Ausschnitt verschoben, dann ändert sich auch die URL - aber wenn ich diese in ein anderes Browserfenster übernehme, dann wird wieder in die Startansicht gewechselt.
Was passiert denn beim Aufruf der Permalink-URL nach der Darstellung des Kartenausschnitts aus der URL? Offensichtlich wird dann die Karte mit den Rettungspunkten komplett neu aufgebaut, als wäre nichts geschehen.
P.S.
Dir ist bewusst, dass ihr eine "Uralt"version von leaflet verwendet?
Genau dasselbe habe ich gestern erst eingebaut (siehe den Viewpoint direction Thread): die Standard/Initialkoordinaten könnt ihr direkt in den ersten paar Zeilen der permalink.js ändern. Ansonsten habe ich alles genauso gemacht, wie in der Readme geschrieben steht und es funtzt. Wichtig ist definitiv permalink vor der eigenen map Initialisierung zu machen, bzw. Selbst gar keine zu machen.
Das ist natürlich die denkbar schlechteste Voraussetzung, sich mit solschen Dingen zu befassen. Aber zumindest den groben zeitlichen Ablauf sollte man sich vor Augen führen, anstatt wahllos Javascript-Code aneinander zu reihen.
Wie schon geschrieben, wird offensichtlich erst die Grundkarte mit dem vorgegebenen Ausschnitt dargestellt, dann aber die Daten geladen und als Overlay in der Startansicht angezeigt. Als erstes würde ich versuchen, die Reihenfolge zu ändern, also den Ausschnitt erst festzulegen, nachdem die Daten die Daten geladen sind.
Mit leaflet und der Rest beginnt irgendwo wieder in der hintersten Gedächnisstube.
Wenn ich mir das so ansehe, dann werde ich den Gedanken nicht los, als wenn das Laden der CSV-Daten mit einem Zoom-Grenzen auf die Objekte beendet wird und das auch nach einem erfolgreichen Kartenaufbau.
Der Kopf des Ladens müsste eigentlich passen.
Gibt es diese Option in leaflet vielleicht und kann man diese ausschalten?
Jupp, das vermute ich auch, nur habe ich noch nicht rausgefunden, ob es am CSV import oder an ClusterMarker liegt. Für letzteres habe ich mal nur kurz die Doku durchsucht und nicht wirklich was gefunden, ob es nach dem Clustern einen Zoom auf das gesamte Clustergebiet macht…
PS: die semicircle.js brauchst du definitiv nicht, außer du willst auch zusätzlich noch so lustige Kreise-/segmente zeichnen
Das kommt anscheinend vom Copy&Paste von meiner Karte und ich habe das auch nur Copy&Paste irgendwoher, aber du hast Recht, ich habe auch keine Referenz in der Doku gefunden, kann also wohl raus.
Aber wenn ich hinter HTML die Parameter weglasse, dann wird irgendein Ausschnitt angezeigt. Hier wäre es noch sinnvoll eine Default-Center-Koordinate mitzugeben.
Also ich würde auf die kompletten Daten zoomen (genau das, was du jetzt auskommentiert hast), wenn keine Parameter in der URL sind. Dazu musst du am ganz Anfang des Scripts einfügen:
var hasParams = (window.location.hash !== '') ? true : false;
try {
if (hasParams === false){
var bounds = markers.getBounds();
if (bounds){
map.fitBounds(bounds);
}
}
} catch(err) {
// pass
}
Zuerst stellst du fest, ob überhaupt Parameter vorhanden sind. Im letzten Codeblock wird die am Anfang festgelegte Variable abgefragt und bei Bedarf ggf. gecentered und gezoomt.
2 x permalink eingebaut. 1 x reicht Wenn ihr default-Koordinaten und -Zoomlevel angeben wollt, schmeisst das leaflet.permalink.min.js raus und ändert in js/leaflet.permalink.js die entsprechenden Stellen.
Die Leaflet-eigenen png für die Marker-Darstellung werden nicht gefunden.
Die Browser-Konsole sollte euch helfen, solche Fehler zu finden.