<div dir="ltr"><div><div><div>Hallo,<br><br></div>ich habe das nun wie beschrieben versucht. Zuerst hole ich mir den Frame:<br><br>var theFrame=parent.parent.$("#main_rechts");<br><br></div>Danach definiere ich mbWidget wie vorgegeben:<br><br>var mbWidget = theFrame.contents().find(".mb-element-map").data('mapbenderMbMap');<br><br></div>Allerdings liefert die nächste Zeile<br><div><br>var ol2map = mbWidget.map.olMap;<br><br><div>die Fehlermeldung<br></div><div><br><span class="gmail-message-body-wrapper"><span class="gmail-message-flex-body"><span class="gmail-message-body gmail-devtools-monospace">TypeError: mbWidget is undefined.<br><br></span></span></span></div><div><span class="gmail-message-body-wrapper"><span class="gmail-message-flex-body"><span class="gmail-message-body gmail-devtools-monospace">Den MB-Frame habe ich aber doch korrekt angesprochen? Denn wenn ich<br><br>    $('#main_rechts',parent.parent.document).each(function() {<br>        $.each(this.attributes,function(i,a){<br>            console.log(i,<a href="http://a.name">a.name</a>,a.value)<br>        })<br>    })<br><br></span></span></span></div><div><span class="gmail-message-body-wrapper"><span class="gmail-message-flex-body"><span class="gmail-message-body gmail-devtools-monospace">laufen lasse, erhalte ich die zum MB-Frame gehörigen Daten:<br></span></span></span></div><div><span class="gmail-message-body-wrapper"><span class="gmail-message-flex-body"><span class="gmail-message-body gmail-devtools-monospace"><br></span></span></span><span class="gmail-message-body-wrapper"><span class="gmail-message-flex-body"><span class="gmail-message-body gmail-devtools-monospace"><span class="gmail-objectBox gmail-objectBox-number">0</span><span> </span><span class="gmail-objectBox gmail-objectBox-string">src</span><span> </span><span class="gmail-objectBox gmail-objectBox-string">/mapbender3/application/centropemap</span></span><span class="gmail-message-location gmail-devtools-monospace"><span class="gmail-frame-link"><a href="http://map.centropemap.org/main.php" class="gmail-frame-link-source"><span class="gmail-frame-link-source-inner" title="Quelltext im Debugger anzeigen → http://map.centropemap.org/main.php:544:4"><span class="gmail-frame-link-line"></span></span></a></span></span></span>
</span><div class="gmail-cm-s-mozilla gmail-message gmail-console-api gmail-log gmail-log"><span class="gmail-indent" style="width:0px"></span><span class="gmail-icon" title="Protokoll"></span><span class="gmail-message-body-wrapper"><span class="gmail-message-flex-body"><span class="gmail-message-body gmail-devtools-monospace"><span class="gmail-objectBox gmail-objectBox-number">1</span><span> </span><span class="gmail-objectBox gmail-objectBox-string">id</span><span> </span><span class="gmail-objectBox gmail-objectBox-string">main_rechts</span></span> <span class="gmail-message-location gmail-devtools-monospace"><span class="gmail-frame-link"><a href="http://map.centropemap.org/main.php" class="gmail-frame-link-source"><span class="gmail-frame-link-source-inner" title="Quelltext im Debugger anzeigen → http://map.centropemap.org/main.php:544:4"><span class="gmail-frame-link-line"></span></span></a></span></span></span>
</span></div><div class="gmail-cm-s-mozilla gmail-message gmail-console-api gmail-log gmail-log"><span class="gmail-indent" style="width:0px"></span><span class="gmail-icon" title="Protokoll"></span><span class="gmail-message-body-wrapper"><span class="gmail-message-flex-body"><span class="gmail-message-body gmail-devtools-monospace"><span class="gmail-objectBox gmail-objectBox-number">2</span><span> </span><span class="gmail-objectBox gmail-objectBox-string">name</span><span> </span><span class="gmail-objectBox gmail-objectBox-string">main_rechts</span></span><span class="gmail-message-location gmail-devtools-monospace"><span class="gmail-frame-link"><a href="http://map.centropemap.org/main.php" class="gmail-frame-link-source"><span class="gmail-frame-link-source-inner" title="Quelltext im Debugger anzeigen → http://map.centropemap.org/main.php:544:4"><span class="gmail-frame-link-line"></span></span></a></span></span></span>
</span></div><div class="gmail-cm-s-mozilla gmail-message gmail-console-api gmail-log gmail-log"><span class="gmail-indent" style="width:0px"></span><span class="gmail-icon" title="Protokoll"></span><span class="gmail-message-body-wrapper"><span class="gmail-message-flex-body"><span class="gmail-message-body gmail-devtools-monospace"><span class="gmail-objectBox gmail-objectBox-number">3</span><span> </span><span class="gmail-objectBox gmail-objectBox-string">scrolling</span><span> </span><span class="gmail-objectBox gmail-objectBox-string">no</span></span><span class="gmail-message-location gmail-devtools-monospace"><span class="gmail-frame-link"><a href="http://map.centropemap.org/main.php" class="gmail-frame-link-source"><span class="gmail-frame-link-source-inner" title="Quelltext im Debugger anzeigen → http://map.centropemap.org/main.php:544:4"><span class="gmail-frame-link-line"></span></span></a></span></span></span>
</span></div><span class="gmail-indent" style="width:0px"></span><span class="gmail-icon" title="Protokoll"></span><span class="gmail-message-body-wrapper"><span class="gmail-message-flex-body"><span class="gmail-message-body gmail-devtools-monospace"><span class="gmail-objectBox gmail-objectBox-number">4</span><span> </span><span class="gmail-objectBox gmail-objectBox-string">noresize</span><span> </span></span></span></span><br><span class="gmail-message-body-wrapper"><span class="gmail-message-flex-body"><span class="gmail-message-body gmail-devtools-monospace"></span></span></span></div><div><div class="gmail_extra"><br></div><div class="gmail_extra">Kann es sein, dass das nur mit Iframes funktioniert, nicht aber mit herkömmlichen Frames? Ich bin leider kein jQuery-Experte.<br><br></div><div class="gmail_extra">LG,<br></div><div class="gmail_extra">Clemens<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">Am 11. Januar 2018 um 08:43 schrieb Astrid Emde <span dir="ltr"><<a href="mailto:astrid.emde@wheregroup.com" target="_blank">astrid.emde@wheregroup.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hallo Clemens,<br>
<br>
hier kommt die verspätete Antwort auf deine Anfrage. Ich habe mich dazu mit dem Entwickler Andriy Oblivantsev abgestimmt.<br>
<br>
Antwort: ja, das ist möglich.<br>
<br>
In Mapbender Map Element ist die OL2 API vorhanden:<br>
<br>
$(".mb-element-map").data('map<wbr>benderMbMap').map.olMap<br>
<br>
Beispiel Aufruf für die Kartenbewegung um 10px nach unten-rechts:<br>
<br>
var mbWidget = $(".mb-element-map").data('map<wbr>benderMbMap');<br>
var ol2map = mbWidget.map.olMap;<br>
<br>
<br>
ol2map.moveByPx(10,10);<br>
<br>
Die Funktionen/Events sind hier beschrieben:<br>
<br>
<a href="http://dev.openlayers.org/docs/files/OpenLayers/Map-js.html" rel="noreferrer" target="_blank">http://dev.openlayers.org/docs<wbr>/files/OpenLayers/Map-js.html</a><br>
Wie über IFrame auf die DOM Objekte zuzugreifen, soll man sich hier informieren:<br>
<br>
<a href="https://api.jquery.com/contents/" rel="noreferrer" target="_blank">https://api.jquery.com/content<wbr>s/</a><br>
<br>
So änhlich soll das Aufruf von einem anderem IFrame sein:<br>
<br>
// MB IFrame raussuchen<br>
var iframe = $("#mbIframeID");<br>
<br>
// MB Map Element Widget in IFrame raussuchen<br>
var mbWidget = iframe.contents().find(".mb-el<wbr>ement-map").data('mapbenderMbM<wbr>ap');<br>
<br>
// OpenLayers2 map API holen<br>
// <a href="http://dev.openlayers.org/docs/files/OpenLayers/Map-js.html" rel="noreferrer" target="_blank">http://dev.openlayers.org/docs<wbr>/files/OpenLayers/Map-js.html</a><br>
var ol2map = mbWidget.map.olMap;<br>
<br>
<br>
// Um 10px nach unten rechts bewegen<br>
ol2map.moveByPx(10, 10);<br>
<br>
Falls du noch weitere Unterstützung brauchen solltest, kannst du dich gerne melden.<br>
<br>
Astrid<div><div class="gmail-m_-2339306502822836128h5"><br>
<br>
Am 2017-12-17 19:57, schrieb Clemens Beyer:<br>
</div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div class="gmail-m_-2339306502822836128h5">
Liebe Community,<br>
<br>
ich habe Mapbender3 in einem Frameset laufen<br>
(<a href="http://map.centropemap.org" rel="noreferrer" target="_blank">http://map.centropemap.org</a>). Im linken Frame befindet sich eine<br>
Menüleiste, im rechten Frame ist Mapbender. Ich würde nun gern<br>
abhängig von Ereignissen im linken Frame die Mapbender-Karte<br>
verschieben bzw. eine neue bbox setzen bzw. den Zoomlevel ändern.<br>
Geht das (und wenn ja, wie kann ich das bewerkstelligen)?<br>
<br>
LG aus Wien,<br>
Clemens Beyer<br>
<br>
Dear Mapbender community,<br>
<br>
I have a Mapbender3 installation running in a frameset<br>
(<a href="http://map.centropemap.org" rel="noreferrer" target="_blank">http://map.centropemap.org</a>). The left frame shows a menu, the right<br>
frame shows tha Mapbender app. I would like to set a new map center<br>
and zoom level depending on events in the menu frame. Is this possible<br>
(and, if so, how can I apply a new map center or bbox and zoom level)?<br>
<br>
Best regards from Vienna,<br>
Clemens Beyer<br></div></div>
______________________________<wbr>_________________<br>
Mapbender_users mailing list<br>
<a href="mailto:Mapbender_users@lists.osgeo.org" target="_blank">Mapbender_users@lists.osgeo.or<wbr>g</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/mapbender_users" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailma<wbr>n/listinfo/mapbender_users</a><br>
</blockquote>
<br>
-- <br>
Mit freundlichen Grüßen<br>
<br>
Astrid Emde<br>
GIS-Consultant<br>
<br>
------------------------------<wbr>-----<br>
Aufwind durch Wissen!<br>
Qualifizierte Open-Source-Schulungen<br>
bei der <a href="http://www.foss-academy.com" rel="noreferrer" target="_blank">www.foss-academy.com</a><br>
------------------------------<wbr>-----<br>
<br>
 Astrid Emde<br>
 WhereGroup GmbH & Co.KG<br>
 Eifelstraße 7<br>
 53119 Bonn<br>
 Germany<br>
<br>
 Fon: <a href="tel:%2B49%280%29228%2090%2090%2038%20-%2022" value="+4922890903822" target="_blank">+49(0)228 90 90 38 - 22</a><br>
 Fax: <a href="tel:%2B49%280%29228%2090%2090%2038%20-%2011" value="+4922890903811" target="_blank">+49(0)228 90 90 38 - 11</a><br>
<br>
 <a href="mailto:astrid.emde@wheregroup.com" target="_blank">astrid.emde@wheregroup.com</a><br>
 <a href="http://www.wheregroup.com" rel="noreferrer" target="_blank">www.wheregroup.com</a><br>
<br>
 Folgen Sie der WhereGroup auf twitter: <a href="http://twitter.com/WhereGroup_com" rel="noreferrer" target="_blank">http://twitter.com/WhereGroup_<wbr>com</a><br>
<br>
Amtsgericht Bonn, HRA 6788<br>
------------------------------<wbr>-<br>
Komplementärin:<br>
WhereGroup Verwaltungs GmbH<br>
vertreten durch:<br>
Olaf Knopp, Peter Stamm<br>
------------------------------<wbr>-<br>
</blockquote></div><br></div></div></div></div>