Beispiel #1
0
QGoogleMap::QGoogleMap(QWidget *parent): QWebView(parent)
{
    pendingReq = 0;
    mgr = new QNetworkAccessManager(this);
    connect(mgr, SIGNAL(finished(QNetworkReply*)), this, SLOT(reply(QNetworkReply*)));

    geocode("");
}
Beispiel #2
0
int QGoogleMap::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QWebView::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: reloadMap(); break;
        case 1: reply((*reinterpret_cast< QNetworkReply*(*)>(_a[1]))); break;
        case 2: geocode((*reinterpret_cast< const QString(*)>(_a[1]))); break;
        case 3: loadCoord(); break;
        case 4: clearCoord(); break;
        default: ;
        }
        _id -= 5;
    }
    return _id;
}
QGeoCodeReply *QGeoCodingManagerEngineKokudo::geocode(const QGeoAddress &address, const QGeoShape &bounds)
{
    return geocode(addressToQuery(address), -1, -1, bounds);
}
Beispiel #4
0
static int cmd_geo(struct myfile *req)
{
  struct myfile rep;
  char *vp,*lp = req->buf;
  ub4 n,pos = 0,len = (ub4)req->len;
  ub4 ival;
  ub4 varstart,varend,varlen,valstart,valend,type;
  ub4 lat = 0,lon = 0,scale = 1;
  int rv;

  enum Vars {
    Cnone,
    Clat,
    Clon,
    Cscale
  } var;

  if (len == 0) return 1;

  oclear(rep);

  while (pos < len && lp[pos] >= 'a' && lp[pos] <= 'z') {
    ival = 0;
    varstart = varend = pos;
    while (varend < len && lp[varend] >= 'a' && lp[varend] <= 'z') varend++;
    varlen = varend - varstart; pos = varend;
    if (varlen == 0) break;

    while (pos < len && lp[pos] == ' ') pos++;
    if (pos == len) break;
    type = lp[pos++];
    if (type == '\n' || pos == len) break;
    while (pos < len && lp[pos] == ' ') pos++;
    lp[varend] = 0;

    valstart = valend = pos;
    while (valend < len && lp[valend] != '\n') valend++;
    if (valend == len) break;
    pos = valend;
    while (pos < len && lp[pos] != '\n') pos++;
    if (lp[pos] == '\n') pos++;
    if (pos == len) break;
    lp[valend] = 0;

    if (type == 'i') {
      n = str2ub4(lp + valstart,&ival);
      if (n == 0) return error(0,"expected integer for %s, found '%.*s'",lp + varstart,valend - valstart,lp + valstart);
    }
    vp = lp + varstart;
    vrb0(0,"len %u %.*s",varlen,varlen,vp);
    if (varlen == 3 && memeq(vp,"lat",3)) var = Clat;
    else if (varlen == 3 && memeq(vp,"lon",3)) var = Clon;
    else if (varlen == 5 && memeq(vp,"scale",5)) var = Cscale;
    else {
      warn(0,"ignoring unknown var '%s'",vp);
      var = Cnone;
    }
    switch (var) {
    case Cnone: break;
    case Clat: lat = ival; break;
    case Clon: lon = ival; break;
    case Cscale: scale = ival; break;
    }
  }
  rv = geocode(lat,lon,scale,&rep);

  rv |= setqentry(req,&rep,".rep");
  return rv;
}