2011-12-15 17 views
14

私はアプリケーションにGoogleマップを追加する必要があるアプリケーションを開発しています。私はUIデザインでQtを使用していますが、私はQMLを使用していません。私のアプリに移植するために、Symbianやその他のファイル用のQt用のAPIはありますか?QtのアプリケーションにGoogleマップを追加するには?

+0

わかりません。たぶん、QWebViewを使うことができます。 –

+0

私にもっと説明してください。、。、Lwin Htoo Ko – Naufal

答えて

3
QWebView *webView = new QWebView(parentWidget); 
    webView->resize(1000,500); 
    webView->move(10,10); 
    QString gMapURL = "England"; // this is where you want to point 
    gMapURL = "http://maps.google.com.sg/maps?q="+gMapURL+"&oe=utf-8&rls=org.mozilla:en-US:official&client=firefox-a&um=1&ie=UTF-8&hl=en&sa=N&tab=wl"; 
    webView->setUrl(QUrl(gMapURL)); 

これはQtでGoogleマップを取得するための安価な方法です。たぶん、Google Maps API Webサービスを使ってよりスマートな方法で入手することができます。 http://code.google.com/apis/maps/documentation/webservices/index.html

+0

こんにちは、私は、解析された値から位置とアドレスを取得しています。私が地図ボタンを押すと、その場所を地図に表示する必要があります! http://www.developer.nokia.com/Community/Wiki/How_to_show_city_locations_in_a_map_using_Qt_and_Google_Maps_API HTTPはFYIシンビアン???のためのQtで可能な、誰もがプロジェクト – Naufal

+0

にポートへのAPIのことで私を助けることができるということです://ドキュメント.qt.nokia.com/qtmobility-1.1-tp/fetchgooglemaps.html –

+1

これは郵便番号です。私は今このコードを試してみます。 Lwin Htoo Ko – Naufal

0

私がメインウィジェットとしてGoogleマップを使用してQtの中で私の大学のプロジェクトに取り組んできました

+0

こんにちは、Skhazさんがあなたの回答をお寄せいただきありがとうございます。いつか... :) – Naufal

+1

私はあなたのプロジェクトを試しましたが、ウェブページをロードするときに常にsegfaultsです。ウェブをGoogleマップからGoogleに変更すると、それはさらに重大な問題になります。 –

2

をやり取りするqwebviewと、いくつかのJavaScriptでGoogleマップを使用して、非常に小さなプロジェクト(https://github.com/skhaz/qtgps)を持っています。基本的には、マップをロードするために必要なjavascriptコードを含むQWebViewに外部HTMLファイルを読み込むのが最善です。このプラクティスでは、マップ(マーカーなど)を制御できるHTMLファイル内にJavaScript関数を定義し、Qtコードで簡単に呼び出すことができます。 しかし、1つのキャッチがあります。マップをQWebViewウィジェットにロードすると、そのマップをまったくやりとりすることはできません。この問題を取り除くために、あなたは、例えば、ユーザーエージェントを偽装しQWebPageを継承するクラスを作成する必要があります。

class myWebPage : virtual public QWebPage 
{ 
    virtual QString userAgentForUrl(const QUrl& url) const 
    { 
     return "Chrome/1.0"; 
    } 
}; 

あなたが新しいと、このクラスのメインページをQWebViewを継承するクラスを作成して設定する必要があります。クラスmyWebPageのインスタンスです。 次のステップでは、デザイナーにQWebViewウィジェットを追加します。このウィジェットをカスタムQWebViewクラスに昇格させてください。完全な機能マップを作成します。

8

からGoogleのMaps-
ため-qt API:http://www.ics.com/technologies/qt_google_apis

  • QML & QtのGoogleマップ:http://code.google.com/p/qt-google-maps/wiki/About

    このプロジェクトで使用するAPI機能:

    • Cre食べ
    • が目印(マーカー)を作成し、チューニングマップ
    • 後藤目印
  • QtのGoogleプレイス:

    • :このプロジェクトで使用http://code.google.com/p/qt-google-places/wiki/About

      APIの機能地図の作成と調整

    • オートコンプリートの検索アドレス
    • 取得には、名前、種類と場所
    • 入手場所の詳細
    • 検索場所
    • 新しいユーザーの場所を追加アドレスで座標
    • 削除、ユーザーの場所
    • 新しいイベントを追加
    • イベントの削除
  • QML & QtのGoogleの緯度:このプロジェクトで使用http://code.google.com/p/qt-google-latitude/wiki/About

    API機能:

    • 作成し、チューニングマップ
    • 現在の場所
    • を取得目印(マーカー)
    • を作成します。現在の場所を挿入する
    • locatの履歴を取得するイオン
    • あなたが他のマッププロバイダを使用することができれば
0

に取り組む場所

  • 後藤の歴史に挿入し、QtLocationモジュール(現在は技術Previwは、Qtの5.5用の執筆時点での今そこにあります)、ここではMapboxとOpenStreetMapマップをレンダリングできます。また、他のプロバイダ用の独自のプラグインを作成することもできます。

    悲しいことに、Googleマップはサポートされていませんが、it's not going to happenのように見えます(Googleマップ規約&)。

  • 1

    QWebViewの使用はおそらくうまくいくかもしれませんが、Googleマップと自分のコードとのやりとりが可能かどうかはわかりません。

    私のプロジェクトはコードqt-google-mapsに基づいています。あなたはまだGoogle Codeのアーカイブでそれを見つけることができます:

    私はコードはGoogleマップのバージョン2に基づいていたので、私は少し変更しなければならなかったことを覚えておいてくださいAPIをサポートし、バージョン3のみがサポートされました。しかし、それでもかなり簡単でした。私は、 "新しい"コードにバージョン3も組み込んでいることがわかります。

    GitHubで私もproject that uses the code, but made a QT5-versionが見つかりました.1年前まで有効でしたので、おそらく作業用コードを見つける機会が増えています。

    私の個人的なGitHubでは、QT4の使用を続けることにしました.Googleマップとのやりとりはかなりうまくいきます。 Here is the latest versionですが、コードはもっと深いところで作業する時間がないため(おそらく申し訳ありません)、ちょっと混乱して理解できません。だからfrom this commitを開始するのが最善です。 Google Maps APIv3のために私が更新した2012年のqt-google-mapsの基本バージョンを持っています(私がここに投稿した最初のリンクといくつかの違いがあります)。

    compile instructionsを必ずお読みください。

    関連する問題