Hallo,
ich möchte euch gerne mal meine Variante vorstellen, mit der es möglich ist eine Google Map auf den Alarmausdruck mit Hilfe des Druckplugins zu bekommen.
Dazu habe ich mir ein php-Script gebastelt, welches dann lokal auf dem Rechner läuft. Eine virtuelle Testumgebung, wie z.B. XAMPP ist dazu erforderlich.
Das Script ist für unseren Alarmtext gebastelt und muss dann evtl. angepasst werden.
Diese Seite ist zum Erstellen der Maps sehr hilfreich: https://developers.google.com/maps/d...aticmaps/index
So nun zur eigentlichen Sache:
Unser Alarmtext sieht z.B. wie folgt aus:
b *Musterstadt *MusterS 112 *Heckenbrand *123456
Die Adresserkennung aus FE erfasst jetzt als Parameter "location_dest": "Musterstadt Musterstraße 112"
1. Jetzt rufe ich mit einer Batch mein php Script auf:
Code:
:: Der Befehl öffnet das Script, welches aus dem Einsatzort eine Google Map erstellt. Der Speicherort des Bildes hat den Pfad F:\Druck. Speicherort des Scriptes F:\xampp\htdocs\map
:: wget --spider -q lässt die Batch im Hintergrund ausführen und arbeitet das php-Script ab.
:: %1% übergibt den Einsatzort aus firEmergency
wget --spider -q localhost/map/Mapgenerator.php?ort=%1%
exit
2. Das php-Script sieht wie folgt aus:
Code:
<?php
// Dieses Script dient als Zusatztool für firEmergency. Es bekommt die Einsatzadresse per Batch übergeben, erstellt eine Google Map und speichert sie als .png ab. In iReport fügt man die Map dann als Bild ein. Bei jedem neuen Alarm wird das Bild durch eine neue Map ersetzt.
// Der Parametet $GET["ort"] wird von der Batch aufgerufen. Z.B. localhost/map/Mapgenerator.php?ort=Musterstadt-Musterstraße-112
$source = 'http://maps.googleapis.com/maps/api/staticmap?center'.$_GET["ort"].'&zoom=15&size=550x400&scale=2&markers=color:red%7Clabel:%7C'.$_GET["ort"].'&sensor=false';
// Das Bild wird unter dem angegeben Pfad gespeichert.
$dest = 'F:\Druck\ort.png';
copy($source, $dest);
?>
3. In iReport fügt man nun ein Bild ein, an der Stelle, wo die Karte später dargestellt werden soll. Der Pfad lautet dann z.B. F:\Druck\ort.png
4.
Konfiguration der Alarmpipeline
-Alarmtext[eigene Parameter]
--Textersetzung
---Batch
----Verzögerung
-----Alarmdruck
5.
-Das Alarmtextplugin bekommt unter &1& den Parameter "location_dest". Mehr nicht.
-Die Textersetzung muss nun Umlaute und Leerzeichen beseitigen. Z.B. so:
ä;ae
Ä;Ae
ö;oe
Ö;Oe
ü;ue
Ü;Ue
ß;ss
;-
-Das Batch Plugin bekommt den Pfad, wo die Batch zu finden ist. Z.B. F:\Druck\Mapgenerator.bat Im Hintergrund
-Ich habe 5 Sekunden verzögert, damit das Bild auch in Ruhe gespeichert werden kann.
-Dann im Druckplugin euern Drucker usw. angeben.
Eine Internetverbindung ist natürlich auch immer erforderlich. Das Script ist im Moment noch sehr einfach gehalten und führt keine Aktionen durch, wenn Fehler auftreten. Getestet wurde das mit FE 1.4.1. Funktioniert bisher auch ganz gut.
Aussehen tut das ganze dann z.B. so: