text: Important: Please read the Qt Code of Conduct -
  Q 'smooth.
  crossblades:
  Quick update: Even using the "default" user agent it worked on my n900 (the pan).
  Just to make sure: Do you have the mouseTracking enabled for the webview? (Most of the time the answer to complex question is the most simple)x64) this is what the example looks like:
  "shot1":
  And this is what happens if I try to drag:
  "shot2":": that might indicate the path to a solution. Pasting it here for practical reasons:
  bq. On 11/20/2010 08:42 AM, ext Gary.Wzl wrote:
  Browser based on Qt port of webkit (qt demo browser or arora )can't be dragged google map when webpage is loaded properly.
  Qt version is 4.7.0
  bq. :
  Thanks nemoxu! Adding the version (v=3.1) to the script solved the problem for me.
  Yeah, it works, thanks!
  It doesn't work in later versions though (3.2, 3.3) so I hope it's not like designing for IE6 - relying on a "known bug" to make it work..
  I haven't had a chance to try but using qt webkit 2.1 (I think that is how the new branch is called) should give us all the "gestures" and the "location" api. I remember seeing a message about the beta source code being available for download.... Anybody has tried it?
  I have the same issue (Qt 4.7.2). Adding "js?v=3.1&sensor=true" didn't do the trick for me.
  There is still no panning (left mousebutton) and zooming (mousewheel).
  I compiled Qt WebKit 2.1 from the repository (mingw, gcc 4.4.0), but the example browser crashes when i try to open a webpage.
  Hi,
  Today I have tired to use google maps with Qt and I'm having the same problems. Maybe somebody has more suggestions? 'Chrome/1.0' the touch interface suppressed. I verified this with PySide 1.0.2 / Qt 4.7.2 / API 3.5.1 but it should in theory work with any Qt version.
  Example (PySide):
  @
  class ChromePage(QWebPage):
  def userAgentForUrl(self, url):
  return 'Chrome/1.0'
  _map = QWebView()
  _map.setPage(ChromePage())
  _map.load(QUrl('a/map/page.html'))
  @.
  Had to sign in to say thanks, you're a genius! I was struggling for weeks!
  here is the same trick in C++:
  @class myWebPage : public QWebPage
  {
  virtual QString userAgentForUrl(const QUrl& url) const {
  return "Chrome/1.0";
  }
  };
  ...
  map->setPage(new myWebPage());
  map->load(QUrl("a/map/page.html"));
  ...
  @
  - Anisha Kaul last edited by
  [quote author="Yuvalal" date="1305973922"]here is the same trick in C++:[/quote]
  Had to sign in to say thanks to you (for posting this in C++) and to @lowsnr.
  This worked flawlessly :hattip: to both of you (for posting the solution).
  - gosztola.laszlo last edited by
  I would like to say thank you, too
  Nice work!
  Excellent!!! Great job!! It Works!!
  Oustanding find!! I'm using webkit with a standard webview widget. Using the app args API works for this string, under this scheme (4.7.3):
  QApplication app(argc, argv);
  // Work around for QT Webkit/Google Maps V3 API to allow map panning via touch control
  app.setApplicationName(QString("Chrome"));
  app.setApplicationVersion(QString("1.0"));
  - outdoor_guy last edited by
  [quote author="Yuvalal" date="1305973922"]Had to sign in to say thanks, you're a genius! I was struggling for weeks!
  [/quote]
  I was struggeled also in that problem and have to say a lot of thanks for the C++ code. Now it works :-)
  I have the same issue (Qt 4.7.2).
  Adding “js?v=3.1&sensor=true” doesn't change the situation.
  There is still no panning and zooming. I have tried this on my desktop and also on a linux board with touchscreen(the touchscreen works fine with Qt widgets ).
  Any idea ?
  [quote author="rigelsg" date="1322153106"]I have the same issue (Qt 4.7.2).
  Any idea ?[/quote]
  There were 3 or so working solutions given already. Read the thread please.
  Excellent now it works :) , thank you.
  Is there any way to save the maps on disk using QNetworkDiskCache ?
  Thanks to lowsnr and Yuvalal :)
  Your fix works for me too!
  Thanks a lot to the two of you, I actaully just made an account to say thank you, you don't know how much time and effort you have saved me
  I can feel the pain above. I have been trying mouse dragging to work in a Webview with no luck. I have added my own buttons to my app and I can move the location but their operation needs a lot to be desiredc. Where can I get a project that has this working so I can use it as an example?
  Ken
  Working solution under windows
  I did try to build webkit but even if setting touch to 0 didn't work (got a fews tests to do on that option to confirm)
  For what it's worth, my application using Qt 4.8.3 on Linux "just works" now when I delete the QWebPage::userAgentForUrl override. So my class now just has this:
  @
  QString ChromePage::userAgentForUrl(const QUrl & url) const
  {
  // Broken as of October 2012, but now default works?
  //return QString("Chrome/1.0");
  return QWebPage::userAgentForUrl(url);
  }
  @
  I am also specifying Maps API version 3.9 - I haven't played around with the newer versions, but it seems to work for me. I did dig into the 3.9 javascript, and the touch events check is now based on the operating system detected from the user agent rather than the browser type, so if things still aren't working for you, make sure your UA string reports "X11", "Windows" or "Macintosh" and it may fix things.
  ETA: this also works with the 3.exp version of Google Maps. If you're interested in seeing the code in context, here are links to the viewer class and the web page on GitHub that I'm using: