Zurück   3DCenter Forum > Software-Hilfe Foren > Programmierung
Registrieren Hilfe Community Kalender Heutige Beiträge Suchen Uns unterstützen

Antwort
 
Themen-Optionen Ansicht
Alt 2011-07-11, 18:06:21   #1 (im Thread / einzeln)
Djon
Platinum Member
 
Benutzerbild von Djon
 
Registriert: 2002-03-10
Ort: Braunschweig
Beiträge: 1.098
Djon eine Nachricht über ICQ schicken
[Qt] Google Maps mit QWebView (Javascript?)

Hallo!

Ich habe eine Qt-Applikation und möchte eine Anbindung an Google Maps haben. Ich möchte dem Benutzer die Möglichkeit geben, seine Koordinaten zu bestimmen. Der Benutzer wählt einen Kartenausschnitt aus und das Programm bestimmt die Koordinaten des Kartenausschnitts und gibt diese dann aus. Wie kann ich es mit Hilfe von QWebView machen? Geht das über Javascript?

Vielen Danke im Voraus!

Gruß Djon
Djon ist offline Computer-Informationen von Djon anzeigen   Mit Zitat antworten Beitrag zum Zitieren auswählen
Alt 2011-07-11, 21:13:51   #2 (im Thread / einzeln)
Marscel
Avantgarde Member
 
Registriert: 2005-03-04
Ort: Regularistan
Beiträge: 5.625
Re: [Qt] Google Maps mit QWebView (Javascript?)

Dürfte hinhauen, hab mit dem API ganz gute Erfahrungen gemacht:

Unter Qt heißt das, was du im QWebFrame brauchst addToJavaScriptWindowObject() und evaluateJavaScript().

Im Skript dann auf Event waren: http://code.google.com/intl/de/apis/...tml#MouseEvent
Marscel ist offline Computer-Informationen von Marscel anzeigen   Mit Zitat antworten Beitrag zum Zitieren auswählen
Alt 2011-07-11, 21:58:05   #3 (im Thread / einzeln)
Djon
Platinum Member
Threadstarter
 
Benutzerbild von Djon
 
Registriert: 2002-03-10
Ort: Braunschweig
Beiträge: 1.098
Djon eine Nachricht über ICQ schicken
Re: [Qt] Google Maps mit QWebView (Javascript?)

Hallo!

Danke für den Hinweis... Könntest du mir vielleicht noch ein Beispiel für den Aufruf der Methode "getBounds()" geben?

Vielen Dank im Voraus!

Gruß Djon
Djon ist offline Computer-Informationen von Djon anzeigen   Mit Zitat antworten Beitrag zum Zitieren auswählen
Alt 2011-07-11, 22:45:47   #4 (im Thread / einzeln)
Marscel
Avantgarde Member
 
Registriert: 2005-03-04
Ort: Regularistan
Beiträge: 5.625
Re: [Qt] Google Maps mit QWebView (Javascript?)

Code:
var map = new google.maps.Map(document.getElementById("karten-container"), {
        zoom: 10,
        center: new google.maps.LatLng(52.50, 13.34),
        mapTypeId: google.maps.MapTypeId.ROADMAP
    });
    
    google.maps.event.addListener(map, "bounds_changed", function() {
        var boundaries = map.getBounds();
        alert("Ausschnitt: " + boundaries.toString());
    });
Nervt dich ständig mit den neuen Rahmenkoordinaten, wenn du irgendwas änderst.
Marscel ist offline Computer-Informationen von Marscel anzeigen   Mit Zitat antworten Beitrag zum Zitieren auswählen
Alt 2011-07-12, 17:03:34   #5 (im Thread / einzeln)
Djon
Platinum Member
Threadstarter
 
Benutzerbild von Djon
 
Registriert: 2002-03-10
Ort: Braunschweig
Beiträge: 1.098
Djon eine Nachricht über ICQ schicken
Re: [Qt] Google Maps mit QWebView (Javascript?)

Hallo!

Irgendwie stehe ich jetzt auf dem Schlauch... Ich habe die von dir geposteten Anweisungen einer QStringList zugewiesen und sobald die GoogleMaps-Seite fertiggeladen wurde mit Hilfe der Methode "evaluateJavaScript()" (QString.join("\n")) ausgeführt. Leider gab es keine Rückmeldung

Gruß Djon
Djon ist offline Computer-Informationen von Djon anzeigen   Mit Zitat antworten Beitrag zum Zitieren auswählen
Alt 2011-07-12, 21:56:09   #6 (im Thread / einzeln)
Marscel
Avantgarde Member
 
Registriert: 2005-03-04
Ort: Regularistan
Beiträge: 5.625
Re: [Qt] Google Maps mit QWebView (Javascript?)

Laut Signatur bist du von uns beiden der Entwickler.

Funktioniert bei mir ohne Anstand.

Setzt natürlich voraus, das du ne Seite lädst, die einen Container mit der ID enthält. Oder du versuchst es als String zu injecten, setHtml() im View oder WebFrame.
Marscel ist offline Computer-Informationen von Marscel anzeigen   Mit Zitat antworten Beitrag zum Zitieren auswählen
Alt 2011-07-14, 16:40:36   #7 (im Thread / einzeln)
Djon
Platinum Member
Threadstarter
 
Benutzerbild von Djon
 
Registriert: 2002-03-10
Ort: Braunschweig
Beiträge: 1.098
Djon eine Nachricht über ICQ schicken
Re: [Qt] Google Maps mit QWebView (Javascript?)

Hallo!

Bist du vielleicht so nett und schickst mir dein Quellcode zu? DANKE!

Gruß Djon
Djon ist offline Computer-Informationen von Djon anzeigen   Mit Zitat antworten Beitrag zum Zitieren auswählen
Alt 2011-07-14, 18:19:50   #8 (im Thread / einzeln)
Marscel
Avantgarde Member
 
Registriert: 2005-03-04
Ort: Regularistan
Beiträge: 5.625
Re: [Qt] Google Maps mit QWebView (Javascript?)

Code:
#include <QtGui>
#include <QWebView>
#include <QWebFrame>
#include <QStringList>

int main(int argc, char** argv) {
    QApplication app(argc, argv);

    QWidget window;
    window.resize(500, 500);
    window.show();
    window.setWindowTitle(QApplication::translate("test", "webview"));

    QWebView webview(&window);
    webview.move(1, 1);
    webview.resize(490, 490);
    webview.show();    

    QWebPage* page = webview.page();
    QWebFrame* frame = page->mainFrame(); 
    QStringList sample_code;
    sample_code << "<html><head><title>demo</title>"
        << "<script type=\"text/javascript\" src=\"http://maps.google.com/maps/api/js?sensor=false\"></script>"
        << "<script type=\"text/javascript\">function init() { var map = new window.google.maps.Map(document.getElementById(\"map-container\"), {" 
            << " zoom: 10,"
            << " center: new google.maps.LatLng(52.50, 13.34),"
            << " mapTypeId: google.maps.MapTypeId.ROADMAP"
        << "});"
        << "google.maps.event.addListener(map, \"bounds_changed\", function() {"
        << " var boundaries = map.getBounds();"
        << " alert(\"Ausschnitt: \" + boundaries.toString());"
        << "}); }</script>"
        << "</head><body onload=\"init()\">Map:"
        << "<div id=\"map-container\" style=\"height: 100%; width: 100%;\"></div>"
        << "</body></html>";
    frame->setHtml(sample_code.join(""));
    return app.exec();
}
Wie du das mit dem Draggen/Zoom der Maus hinkriegst, musst du selber rausfinden, so ein paar Lösungen existieren da im Netz.

Außerdem ist das nur Proof-of-Concept, das JS kannst du vielleicht - schöner - auch in einem LoadCompleted-Signal ausführen lassen.

Und wenn dus verkaufst, will ich ne Erwähnung

Geändert von Marscel (2011-07-14 um 18:22:40 Uhr)
Marscel ist offline Computer-Informationen von Marscel anzeigen   Mit Zitat antworten Beitrag zum Zitieren auswählen
Alt 2011-07-19, 19:20:44   #9 (im Thread / einzeln)
Djon
Platinum Member
Threadstarter
 
Benutzerbild von Djon
 
Registriert: 2002-03-10
Ort: Braunschweig
Beiträge: 1.098
Djon eine Nachricht über ICQ schicken
Re: [Qt] Google Maps mit QWebView (Javascript?)

Hallo!

Vielen Dank für deine Hilfe! Funktioniert wurderbar!
Es handelt sich um keine kommerzielle Anwendung sondern dient nur dem privaten Gebrauch

Gruß Djon
Djon ist offline Computer-Informationen von Djon anzeigen   Mit Zitat antworten Beitrag zum Zitieren auswählen
Antwort

Lesezeichen
  • Dieses Thema bei Twitter speichern
  • Dieses Thema bei Facebook speichern


Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42:27 Uhr.


Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.