Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

OpenLayers: Texte aus einer Datenbank anzeigen

Empfohlene Antworten

Veröffentlicht

Hallo.

Mit meinem OSM Projekt komm ich dank der Community relativ zügig vorran.

Die Karte wird angezeigt und ich kann aus einer Textdatei einzelne Texte anzeigen lassen.

Da das relativ statisch ist, will ich dass meine Texte aus einer Datenbank kommen.

Ich habe bereits diese Anleitung gefunden: OpenLayers Dynamic POI

Jedoch wird dort NICHT erwähnt, wie ich diese erzeugte html Datei aus dem PHP Code, in meinem Code einlese.

Dort wird nur erwähnt, dass ich 3 Bibliotheken einschneiden muss und nicht, wo ich diese php Datei hinsetze.

Ich hab es mir ungefähir so vorgestellt:

Der Code um Marker aus einer Textdatei zu laden, sieht so aus:


var pois = new OpenLayers.Layer.Text

(

	"Marker",

	{

		location:"textfile.txt",

		projection: map.displayProjection

	}

);


map.addLayer(pois);

Jedoch kann ich die Textdatei nicht so einfach mit einer PHP datei ersetzen, die eine "Dynamische Textdatei" enthält:

var pois = new OpenLayers.Layer.Text

(

	"Marker",

	{

		[B]location:"markerfromdb.php",[/B]

		projection: map.displayProjection

	}

);


map.addLayer(pois);

Das was aber diese "markerfromdb.php" anzeigt, ist identisch mit der textfile.txt. Worüber ich auch nachgedacht hab ist, dass ich einen "Dynamischen" Javascript Code erzeuge: Also sprich durch eine Schleife immer im Code einen Marker hinzufüge:

var lonLat = new OpenLayers.LonLat('10','70').transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());

var size = new OpenLayers.Size(10,10);

var icon = new OpenLayers.Icon('grafik.png',size);

layerMarkers.addMarker(new OpenLayers.Marker(lonLat,icon));

Das Problem bei diesem Code ist, dass nur der letze Markereintrag gezeichnet wird. Außerdem wäre es ein schlechter Code.

Ich bitte um Hilfe. In der Developer Documentation von OpenLayers steht wenig hilfreiches drin.

Vielen Dank für eure Hilfe!

Liebe Grüße

errox

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.