Hi All,
I am trying to execute javascript through Qt script.
My javascript contains code for google maps API.
when i ran it through Qt script, it gives an Error like "Reference
Error: google is not defined".
I think the problem is the
<script type="text/javascript" src="http://maps.google.com/maps/api/js?
sensor=false">
</script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?
sensor=false">
</script>
To copy to clipboard, switch view to plain text mode
line from the html file. If I use the <> brackets, the java script
engine won't compile it, and if I omit the line, the program gets the
"google not found" error...
Please anyone help me how to call the URL inside <script> tag in
javascript which is been executed by Qt script?
NOTE:
Here, I have included JS and Qt script file.
JS file:
function calcRoute() {
var directionsService = new google.maps.DirectionsService(); //
getting error here."google not defined"
var start = "chennai";
var end = "bangalore";
var request = {
origin:start,
destination:end,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(resp, status) {
if (status == google.maps.DirectionsStatus.OK) {
return resp;
}
});
}
function calcRoute() {
var directionsService = new google.maps.DirectionsService(); //
getting error here."google not defined"
var start = "chennai";
var end = "bangalore";
var request = {
origin:start,
destination:end,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(resp, status) {
if (status == google.maps.DirectionsStatus.OK) {
return resp;
}
});
}
To copy to clipboard, switch view to plain text mode
QtScript file:
#include <QApplication>
#include <QtScript>
#include <QScriptEngine>
int main(int argc, char **argv)
{
QScriptEngine engine;
QScriptValue global = engine.globalObject();
QString fileName1
= "direction.js";
QFile scriptFile1
(fileName1
);
{
qDebug() << "error";
}
QString contents1
= stream1.
readAll();
scriptFile1.close();
QScriptValue result1 = engine.evaluate(contents1, fileName1);
if(engine.hasUncaughtException()) {
int line = engine.uncaughtExceptionLineNumber();
qDebug() << "uncaught exception at line" << line << ":" <<
result1.toString();
}
QScriptValue val1 = global.property("calcRoute");
QScriptValueList args1;
QScriptValue final_res1 = val1.call(QScriptValue(), args1); //
calling JS function calcRoute with no args
qDebug() << "The result is: " << final_res1.toString();
return app.exec();
}
#include <QApplication>
#include <QtScript>
#include <QScriptEngine>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QScriptEngine engine;
QScriptValue global = engine.globalObject();
QString fileName1 = "direction.js";
QFile scriptFile1(fileName1);
if(!scriptFile1.open(QIODevice::ReadOnly))
{
qDebug() << "error";
}
QTextStream stream1(&scriptFile1);
QString contents1 = stream1.readAll();
scriptFile1.close();
QScriptValue result1 = engine.evaluate(contents1, fileName1);
if(engine.hasUncaughtException()) {
int line = engine.uncaughtExceptionLineNumber();
qDebug() << "uncaught exception at line" << line << ":" <<
result1.toString();
}
QScriptValue val1 = global.property("calcRoute");
QScriptValueList args1;
QScriptValue final_res1 = val1.call(QScriptValue(), args1); //
calling JS function calcRoute with no args
qDebug() << "The result is: " << final_res1.toString();
return app.exec();
}
To copy to clipboard, switch view to plain text mode
Bookmarks