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.***
Pages: 1
#1 2017-03-01 17:05:24
- Bany47
- Member
- Registered: 2014-11-04
- Posts: 28
Problem mit ol trigger-Funktion
Hallo Leute !!
Ich habe folgendes Problem.
In meiner OpenLayers Map befindet sich folgender Trigger zum Vergrößern und Verkleinern von Markern:
var pan4 = new OpenLayers.Control.Button({displayClass: 'fourth', trigger: function markerplus(){
if (vlrot1.length > 0){for (i = 0; i < vlrot1.length;i++){vL_rot1.features(i).style.graphicHeight=vL_rot1.features(i).style.graphicHeight*1.1;
vL_rot1.features(i).style.graphicWidth=vL_rot1.features(i).style.graphicWidth*1.1; vL_rot1.features(i).style.graphicXOffset=vL_rot1.features(i).style.graphicXOffset*1.1;
vL_rot1.features(i).style.graphicYOffset=vL_rot1.features(i).style.graphicYOffset*1.1;}}
...
Beim ersten Laden der Map funktioniert der Trigger.
Wenn ich jetzt eine neue Suchen über Ajax laufen lasse und die map mit jquery $(#div).emty(); aus dem DIV entferne und neu lade, funktioniert der Trigger nicht mehr.
Fehlermeldung in Firebug: TypeError: vL_rot1.features(i) is undefined.
Verstehe das nicht so richtig. Ich lösche den Inhalt des DIV's und baue den DOM im DIV neu auf. Liegt es evt. am $(#div).emty();
Kann mir evt. jemand weiterhelfen ?
Danke
Stefan
Offline
#2 2017-03-01 18:26:54
- dooley
- Member

- From: Landkreis Calw
- Registered: 2013-11-04
- Posts: 899
Re: Problem mit ol trigger-Funktion
a) Code in Zukunft bitte mit den Code-Tags umschliessen - ist einfacher zu lesen
b) .emty() ist keine originale jQuery-Funktion. Meinten Sie ".empty()"?
c) ohne den weiteren Code oder OL zu kennen, ist vL_rot1.features tatsächlich eine Funktion? Runden Klammern = Funktion, eckige Klammern = Array
d) Wenn du den Event-Handler an ein DOM-Elements hängst und das DOM-Element dann löschst, ist der Even-Handler auch weg.
$('#meinDiv').on('click', function(() {...} < meinDiv gelöscht, Event-Handler weg
$(document).on('click', '#meinDiv', function(){...} < meinDiv gelöscht, Even-Handler bleibt (solange "document" nicht gelöscht wird)e) ist vL_rot1 innerhalb überhaupt sichtbar?
....markerplus(){
/*
Debug: einfügen als erste Zeile innerhalb der Funktion
Zur Laufzeit dann Browser-Konsole öffnen und nachschauen
*/
console.log('vL_rot1: ', vL_rot1);
...f) Was soll $(#div) sein? Entweder du hast ein Element mit ID "div", dann gehört Single- oder Doppelqoutes drumrum > $('#div') oder du willst alle div's im DOM ansprechen, dann $('div')
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
#3 2017-03-02 14:29:25
- Bany47
- Member
- Registered: 2014-11-04
- Posts: 28
Re: Problem mit ol trigger-Funktion
Tag !
Erst einmal Danke! für die Rückmeldung.
Eckige Klammern nimmt der Texteditor im Forum nicht an. Sie sind im Code richtig vorhanden.
.emty ist ein Tipfehler und im Original natürlich .empty .
$('#div') ist mein mapdiv, also das div in dem die map eingefügt wird. Mein Problem vielleicht noch einmal in Kürze.
Beim ersten Aufruf wird die ol-map (incl. Trigger) über eine $(function make_map () {...}) im mapdiv eingefügt. Der Trigger funktioniert.
Anschließend wird der Inhalt von mapdiv mit Hilfe von $('#mapdiv').empty(); gelöscht.
Dann wird der exact gleiche Code über $(function(){$('#mapbutton').click(function() { .. });}); wieder eingefügt. Der Trigger funktioniert nicht mehr. Der Rest der map wird richtig dargestellt.
Gruß Stefan
Offline
#4 2017-03-02 15:05:53
- dooley
- Member

- From: Landkreis Calw
- Registered: 2013-11-04
- Posts: 899
Re: Problem mit ol trigger-Funktion
Du hast nicht geschrieben, ob console.log('vL_rot1: ', vL_rot1); in der function markerplus() etwas auf die Browser-Konsole ausgibt. Siehe Beitrag #2 e)
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
#5 2017-03-02 16:13:48
- Bany47
- Member
- Registered: 2014-11-04
- Posts: 28
Re: Problem mit ol trigger-Funktion
Die Konsole wirft folgendes aus:
ajax_start.js funktioniert. ajax_suchen.js funktioniert nicht
vL_rot1: Object { metadata: Object, options: Object, name: " Verw_Negativ", id: "OpenLayers_Layer_Vector_51", div:
<div#OpenLayers_Layer_Vector_51.olLayerDiv>, events: Object, renderer: Object, styleMap: Object, features: Array[6], selectedFeatures:
Array[0], 17 weitere… } ajax_start.js:159:4
vL_rot1: Object { metadata: Object, options: Object, name: " Verw_Negativ", id: "OpenLayers_Layer_Vector_385", div:
<div#OpenLayers_Layer_Vector_385.olLayerDiv>, events: Object, renderer: Object, styleMap: Object, features: Array[6],
selectedFeatures: Array[0], 17 weitere… } ajax_suchen.js:317:4
Offline
#6 2017-03-02 17:47:24
- wambacher
- Member

- From: Schlangenbad/Wambach, Germany
- Registered: 2009-12-16
- Posts: 16,769
- Website
Re: Problem mit ol trigger-Funktion
Eckige Klammern nimmt der Texteditor im Forum nicht an. Sie sind im Code richtig vorhanden.
Wieso das denn? ich hab keinerlei Probleme damit.
siehe
test [text in klammern]
x[1]gruss
walter
Offline
#7 2017-03-03 09:21:58
- seichter
- Member
- Registered: 2011-05-21
- Posts: 3,337
Re: Problem mit ol trigger-Funktion
Bany47 wrote:Eckige Klammern nimmt der Texteditor im Forum nicht an. Sie sind im Code richtig vorhanden.
Wieso das denn? ich hab keinerlei Probleme damit.
siehe
test [text in klammern]
x[1]
Er hatte den Programmtext nicht in einem Code-Block (siehe #2).
Offline
#8 2017-03-03 09:59:48
- wambacher
- Member

- From: Schlangenbad/Wambach, Germany
- Registered: 2009-12-16
- Posts: 16,769
- Website
Re: Problem mit ol trigger-Funktion
Er hatte den Programmtext nicht in einem Code-Block (siehe #2).
jo, und ich hatte die Klammern sowohl im Text - test [text in klammern] - als auch im code-block.
und beides geht.
Offline
#9 2017-03-03 12:11:54
- Harald Hartmann
- Member

- From: 98667 Schönbrunn
- Registered: 2014-04-02
- Posts: 3,123
- Website
Re: Problem mit ol trigger-Funktion
Snip
Last edited by Harald Hartmann (2017-03-03 12:12:22)
Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD
Offline
Pages: 1