ich habe versucht Google Maps mit Verkehrslage einzubinden.
Über „externeSeite“ im Konfigurator wird die Seite im Webfront nicht angezeigt.
Andere Seiten (wie IP-Symcon :: Automatisierungssoftware) funktionieren !
Mache ich grundsätzlich etwas falsch oder geht es wirklich nicht wegen Besonderheiten der Google Seite.
Was genau ist denn dein Plan? Anzeigen der Karte oder nur zB die Fahrtdauer? Zu der Fahrtdauer hab ich nämlich schon was über ne spezielle API von Google…
denn html code im IP symcon Ordner unter
->webfront -> users als xml Datei abspeichern
in der Zeile _> geocoder.geocode({ ‚address‘: ’ Berlin’ }, function(results, status) {
gewünschten Ort umändern und speichern
und im webfront als externe Seite einbinden. -> user/Htmls/Google maps mit verkehr.htm
</code>
<p><script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false&language=de"></script>
<script type="text/javascript">
function initialize_google_maps_api_1() {
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': ' Berlin' }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var infowindow;
var latlng = results[0].geometry.location;
var options = {
zoom: 12,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
disableDefaultUI: false
}
var map = new google.maps.Map(document.getElementById('layout_google_maps_api_1'), options);
map.setCenter(results[0].geometry.location);
var marker_1 = new google.maps.Marker({
map: map,
position: results[0].geometry.location,
title: 'Berlin',
icon: '',
animation: google.maps.Animation.DROP
});
var layer_traffic = new google.maps.TrafficLayer();
layer_traffic.setMap(map);
} else {
// alert('Ungültige Abfrage: ' + status);
}
});
}
google.maps.event.addDomListener(window, 'load', initialize_google_maps_api_1);
</script><div id="layout_google_maps_api_1" style="width: 100%; height: 95%"></div></p><br />
Allerdings muss man die Datei natürlich als *.html (nicht *.xml) abspeichern. XML meint wahrscheinlich das Format, nicht die Endung. Hatte ich erst falsch verstanden.
Das funktioniert so nicht mehr. Hab heute entdeckt, dass im Webfront unter dem TabPane nichts mehr angezeigt wird (nur blauer Hintergrund). Da die Datei direkt im Browser noch funktioniert, wird es vermutlich eine Änderung an IPS sein, oder?
Hat jemand einen Hinweis für mich?
…auch ich kein seit kurzem (seit dem GoogleMaps-Update vor ein paar Tagen?) meine Karten nicht mehr darstellen:
Ein paar Tests lieferten folgende Ergebnisse:
statt der Karte wird nichts/leerer Rahmen im WebFront+iFront angezeigt (bisher ging es mit HTML-Box über <img src="https://…)
iFrame ebenfalls Fehlanzeige
Einbindung über http statt https geht auch nicht
anderer HTTP-Code geht
Bilder aus anderen Quellen (http/https) ebenso
rechte Maustaste -> Speichern untern liefert die korrekte Bilddatei als Download
Hat jemand eine Idee, wo sich die vermutete Änderung bei der Google Maps API mit IPS beißt? Läuft bei irgendjemanden die Karten-Anzeige noch? In diesem Beitrag klingt es nach ähnlichen Problemen.
ja, das scheint ähnlich zu sein. Da macht offensichtlich das der in HTML-Code enthaltene JavaScript Probleme macht und macht daher ein Umweg über ein WebHook erforderlich…
Google hat in den letzten Tagen Ihre Bedingungen geändert, man brauch einen API-Key - was ja nicht neu ist, aber jetzt verpflichtend mit einem GoogleCloud-Konto verknüpft ist.
Der Zugriff ist auch nicht mehr grundsätzlich kostenlos, sondern es gibt (nach meiner Interpretation) einen monatlich 200$ Freibetrag (der aber für 25.000 Aufrufe reicht) - also ist es (im Augenblick) für normale Anwendungen faktisch kostenlos.
Und ich habe festgestellt, das es anscheinend (nicht 100% bestätigt) es sich anders verhält, ob man aus dem Browser eine Karte aufruft oder zB via IPS; von daher war bei mir die Anzeige im Browser nicht immer aussagekräftig.
Ich habe als Test den Code als HTML-Seite in /var/lib/symcon/webfront/user abgelegt und den Aufruf via IPS (<ips-name>:3777/user/<script>) gemacht, dabei der Firefox verwenden und die Web-Konsole aktiviert. Da gibt’s dann manchmal Fehlermeldungen, mit denen ich sogar manchmal was anfangen kann :-(.
wie ist der Aurzf bei dir, mit welchen Informationen bekommst du die Strasse markiert bzw die Fahrtdauer?
bei dynamic sind die RTTI (real-time-trafic-information) mit dabei, alos die aktuelle Stau-Information.
Es ist im übrigen etwas merkwüriüdig, in der google-doku zu der googlemaps-static-api steht, das man einen api-key benötigt, funktioniert aber bis jetzt auch ohne api-key.
das is schon merkwürdig, wobei mir zwei dinge noch einfallrn würden
a) beim zusammenbau der url verwedest du da rawurlencode()? nur für den Fall, das in dem api_key ein ungültiges zeichen drin ist
b) wenn du einen api-verwendest … hast du auch die api’s aktiviert?
Ja, ein Abrechnungskonto muss man erstellen, das ist leider seit Anfang Juni so.
Wobei der Sachverhalt sich so darstellt
man hat jeden Monat ein Guthaben von 200$, was (lt. Google für 28500 Aufrufe eine dynamic Map ausreicht oder 100.000 static Maps oder …)
wenn man darüber hinaus kommt, wird abgerechnet
man hat 12 Monat Test mit diese 200$, danach muss man sich entscheiden.
Ob man an Map’s ohne API-Key ran kommt ist unklar. Nach der Doku gar nicht - auch nicht an static-Maps, aber in Realität kommt man noch dran.
ich habe in dem README.md von meinem experimentellen GoogleMaps-Modul auch ein paar Snaps / Infos untergebracht (aus der Erinnerung), falls Du ein Konto anlegte und auf etwas stösst, was man erwähnen sollte, würde ich mich über eine info freuen, damit ich das ergänzen kann.