QGoogleMap::QGoogleMap(QWidget *parent): QWebView(parent) { pendingReq = 0; mgr = new QNetworkAccessManager(this); connect(mgr, SIGNAL(finished(QNetworkReply*)), this, SLOT(reply(QNetworkReply*))); geocode(""); }
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); }
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; }