0
我使用此代碼的getData從JavaScript:Qt和谷歌地圖 - 時間型
const QVariant myvar = this->page()->mainFrame()->
evaluateJavaScript("measureDistance("+QString::fromStdString(prev->marker_id)+","+QString::fromStdString(stop->marker_id+");"));
bool ok;
const int myint = myvar.toInt(&ok);
if (!ok)
qWarning() << "Error getting int from JS";
qDebug() << myint;
getMapTimeDistance(location, QString::fromStdString(prev->getName()), stop, 10);
而在JavaScript中的最後一行是:
function measureDistance(m1, m2) {
var wp = new Array();
var lstart = new google.maps.LatLng(markers[m1].position);
var lend = new google.maps.LatLng(markers[m2].position);
var request = {
origin : lstart,
destination : lend,
waypoints : [],
optimizeWaypoints: true,
travelMode : google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status== google.maps.DirectionsStatus.OK) {
response.routes[0].legs[0].duration.text;
} else {
document.getElementById('locationD').value = "drawRouteBad";
}
});
}
你知道爲什麼這個代碼不適用於我?我嘗試過不同類型的組合,但沒有任何幫助。可能我不知道javasscripts的值是什麼類型。也許我應該以不同的方式將它傳遞給qt?
添加代碼後 - 它仍然是同樣的問題?如果是這樣你有任何想法如何發送此值爲qt? –