[Mapbender-users] Map Center und Zoomlevel von außen steuerbar? Set map center and zoom level from outside the application?
Clemens Beyer
c.beyer at ceit.at
Tue Feb 6 07:16:35 PST 2018
Hallo,
ich habe das nun wie beschrieben versucht. Zuerst hole ich mir den Frame:
var theFrame=parent.parent.$("#main_rechts");
Danach definiere ich mbWidget wie vorgegeben:
var mbWidget =
theFrame.contents().find(".mb-element-map").data('mapbenderMbMap');
Allerdings liefert die nächste Zeile
var ol2map = mbWidget.map.olMap;
die Fehlermeldung
TypeError: mbWidget is undefined.
Den MB-Frame habe ich aber doch korrekt angesprochen? Denn wenn ich
$('#main_rechts',parent.parent.document).each(function() {
$.each(this.attributes,function(i,a){
console.log(i,a.name,a.value)
})
})
laufen lasse, erhalte ich die zum MB-Frame gehörigen Daten:
0 src /mapbender3/application/centropemap
<http://map.centropemap.org/main.php>
1 id main_rechts <http://map.centropemap.org/main.php>
2 name main_rechts <http://map.centropemap.org/main.php>
3 scrolling no <http://map.centropemap.org/main.php>
4 noresize
Kann es sein, dass das nur mit Iframes funktioniert, nicht aber mit
herkömmlichen Frames? Ich bin leider kein jQuery-Experte.
LG,
Clemens
Am 11. Januar 2018 um 08:43 schrieb Astrid Emde <astrid.emde at wheregroup.com>
:
> Hallo Clemens,
>
> hier kommt die verspätete Antwort auf deine Anfrage. Ich habe mich dazu
> mit dem Entwickler Andriy Oblivantsev abgestimmt.
>
> Antwort: ja, das ist möglich.
>
> In Mapbender Map Element ist die OL2 API vorhanden:
>
> $(".mb-element-map").data('mapbenderMbMap').map.olMap
>
> Beispiel Aufruf für die Kartenbewegung um 10px nach unten-rechts:
>
> var mbWidget = $(".mb-element-map").data('mapbenderMbMap');
> var ol2map = mbWidget.map.olMap;
>
>
> ol2map.moveByPx(10,10);
>
> Die Funktionen/Events sind hier beschrieben:
>
> http://dev.openlayers.org/docs/files/OpenLayers/Map-js.html
> Wie über IFrame auf die DOM Objekte zuzugreifen, soll man sich hier
> informieren:
>
> https://api.jquery.com/contents/
>
> So änhlich soll das Aufruf von einem anderem IFrame sein:
>
> // MB IFrame raussuchen
> var iframe = $("#mbIframeID");
>
> // MB Map Element Widget in IFrame raussuchen
> var mbWidget = iframe.contents().find(".mb-el
> ement-map").data('mapbenderMbMap');
>
> // OpenLayers2 map API holen
> // http://dev.openlayers.org/docs/files/OpenLayers/Map-js.html
> var ol2map = mbWidget.map.olMap;
>
>
> // Um 10px nach unten rechts bewegen
> ol2map.moveByPx(10, 10);
>
> Falls du noch weitere Unterstützung brauchen solltest, kannst du dich
> gerne melden.
>
> Astrid
>
>
> Am 2017-12-17 19:57, schrieb Clemens Beyer:
>
>> Liebe Community,
>>
>> ich habe Mapbender3 in einem Frameset laufen
>> (http://map.centropemap.org). Im linken Frame befindet sich eine
>> Menüleiste, im rechten Frame ist Mapbender. Ich würde nun gern
>> abhängig von Ereignissen im linken Frame die Mapbender-Karte
>> verschieben bzw. eine neue bbox setzen bzw. den Zoomlevel ändern.
>> Geht das (und wenn ja, wie kann ich das bewerkstelligen)?
>>
>> LG aus Wien,
>> Clemens Beyer
>>
>> Dear Mapbender community,
>>
>> I have a Mapbender3 installation running in a frameset
>> (http://map.centropemap.org). The left frame shows a menu, the right
>> frame shows tha Mapbender app. I would like to set a new map center
>> and zoom level depending on events in the menu frame. Is this possible
>> (and, if so, how can I apply a new map center or bbox and zoom level)?
>>
>> Best regards from Vienna,
>> Clemens Beyer
>> _______________________________________________
>> Mapbender_users mailing list
>> Mapbender_users at lists.osgeo.org
>> https://lists.osgeo.org/mailman/listinfo/mapbender_users
>>
>
> --
> Mit freundlichen Grüßen
>
> Astrid Emde
> GIS-Consultant
>
> -----------------------------------
> Aufwind durch Wissen!
> Qualifizierte Open-Source-Schulungen
> bei der www.foss-academy.com
> -----------------------------------
>
> Astrid Emde
> WhereGroup GmbH & Co.KG
> Eifelstraße 7
> 53119 Bonn
> Germany
>
> Fon: +49(0)228 90 90 38 - 22
> Fax: +49(0)228 90 90 38 - 11
>
> astrid.emde at wheregroup.com
> www.wheregroup.com
>
> Folgen Sie der WhereGroup auf twitter: http://twitter.com/WhereGroup_com
>
> Amtsgericht Bonn, HRA 6788
> -------------------------------
> Komplementärin:
> WhereGroup Verwaltungs GmbH
> vertreten durch:
> Olaf Knopp, Peter Stamm
> -------------------------------
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapbender_users/attachments/20180206/520251f6/attachment.html>
More information about the Mapbender_users
mailing list