Integration einer Suchleiste mittels HTML-Code?

Nahmd,

Grundsätzlich ist mir die Übersichtlichkeit wichtiger als die Dateigröße.

Der Inhalt der Nominatim-Datei ist ursprünglich bei SunCobalt geklaut; ich hab ein paar Einträge ergänzt, die beim Rumspielen mit der Suche aufgefallen sind: dadurch ist die Datei natürlich gewachsen.

Wenn Du wirklich kleine Dateien haben willst, kannst Du alle benötigten JS-Dateien in eine zusammenkopieren und mit einem Tool Kommentare und unnötigen Whitespace entfernen, so wie das bei der OpenLayers.js passiert.

Wenn Du zusätzlich Transfervolumen und Downloadzeit reduzieren willst, kannst Du auf Deinem Server zu jeder Datei “xxx.js” auch die komprimierte Version "xxx.js.gz” oder “xxx.js.Z” hinterlegen und den Server so konfigurieren, dass er diese ausliefert, wenn der Browser signalisiert, dass er damit zurechtkommt – und das tun praktisch alle.

Gruß Wolf

Nahmd,

Eben deshalb wäre als Serverbetreiber mir JSONP lieber als CORS, alldieweil bei Bandbreitenüberschreitung statt einen öden 509er (oder einen 402er, hihi) zu werfen ich deutlich origineller reagieren kann. :stuck_out_tongue:

Abgeklemmt werden ist immer blöd. Aber wenn Du abgeklemmt wirst, kannst Du zum Spaß mal das hier einbinden (jsonp, es gehen auch csv, json, sql, text, xml). Das ist zwar langsamer als Nominatim (und liefert keine Regionshierarchie), dafür findet es auch Münschen und Stuttgard.

.oO( und damit sind meine Chancen auf irgendwann einmal Asyl im Süden auf 0 gesunken. )

Gruß Wolf

Moin,

Antwort zu mmd:
Gering, da verbrauchen die anderen Dateien mehr Traffic.

Was ist der Unterschied zwischen einer statischen und nicht statischen Karte?
Ich tippe einmal darauf, dass der Unterschied im Traffic liegt.

Wie kann man sowas aber erkennen?

Gruß

Thal

Ich hoffe, du hast nichts dagegen, dass ich mir den Code kopiere? Das macht sich nämlich auch auf http://maps.osm2world.org/ echt prima. :slight_smile:

Nahmd,

Alle meine Schnipsel sind zum Kopieren da.

.oO( außerdem betrachte ich das als dezentrales Backup )

Gruß Wolf

PS: Da will ich mal früh in die Falle, und was passiert? Ich stoße ich auf den Alpinrouter von maxbe. Hmpf! :zap::skull_and_crossbones:☈ @

Moin,

ein kleineres Problem habe ich doch festgestellt.

Der Firefox zeigt die Landkarte mit der Suchleiste an, aber alle anderen Browser geben hier den Geist auf (Schwarzer Bereich).

Ich habe dann auf dem Rechner nur die Suchleiste gelöscht - die Karte wird von verschiedenen Browsern wieder angezeigt.

Also liegt das Problem in der Suchleisten-Code selbst.

Wie kann man dieses Problem denn anpacken?

Noch eine andere kleinere Frage:

TXT-Dateien werden auf einfachen Browsern auf der Landkarte nicht dargestellt, warum?

Gruß

Thal

Ich bin kein JS-Künstler aber alle Browser werfen eine Fehlermeldung aus; Opera bspw:

Syntax error at line 55 while loading: syntax error
	map.addControl (new 
	^

Hier fehlt wohl vorher ein Semikolon und/oder eine Klammer.

Richtig. Für “window.onload = function ()” in Zeile 53 fehlen die {} Klammern. Ich gehe mal davon aus, dass map.addControl damit umklammert werden sollte.

Moin,

also sollte der Code so aussehen (nur Einklammerung von map.addControl):

{map.addControl} (new OpenLayers.Control.SearchBox({
		resultMinZoom: 16
	}));

Da taucht die Suchleiste nicht mehr auf, wäre wohl dann komplett ausgeklammert…

Aber ich habe ebend mit der Klammer experementiert, dabei habe ich folgendes gemacht:

{map.addControl (new OpenLayers.Control.SearchBox({
		resultMinZoom: 16
	}))};

Resultat ist, unter Firefox (und anderen Browsern) wird alles angezeigt (auch die Suchleiste).
Außer bei dem Midori-Browser, dort werden die TXT-Dateien nicht angezeigt in der Landkarte, aber die Version dieses Browsers kommt aus dem Jahre 2011…

Ich denke aber, dass dieser Browser wohl der einzigste ist?

Ich bedanke mich einmal für eure Hilfe.

Gruß

Thal

Da hab ich mich unverständlich ausgedrückt. Ich dachte eigentlich an:

{
	map.addControl (new OpenLayers.Control.SearchBox({
		resultMinZoom: 16
	}));
}

Aber ich bekomme jetzt auf jeden Fall keine Fehlermeldung mehr angezeigt.

Würde ich damit nicht das Semikolon auch ausblenden, bzw. wegmachen?

Keine Fehlermeldung ist schon gut.

Das Semikolon gehört ja zu der map.addControl-Funktion. Die Klammern gehören aber zur nächst höheren Ebene: “window.onload = function () { … }”.

Allerdings bin ich auch nicht so der Javascript-Experte. Könnte durchaus sein, dass dann nach dem } nochmal ein Semikolon kommen müsste.