うーん、誰かがここで私を助けてくれるか、正しい方向に向けてくれるかもしれません. (確かに、json、オブジェクト、Google ビジュアライゼーションなどに関して私はかなり新しいです) 基本的に、3 つの異なるフュージョン テーブルに対して同じページで 3 つの異なるクエリを実行しています。マーカーの。クエリを個別に実行して、マーカーの配列を作成すると、すべて問題ありません。ただし、同じページで 3 つのクエリを実行すると、応答関数でクエリを識別する方法が見つからないようです。
どんなヒントでも大歓迎です。必要に応じて、より多くの情報を提供させていただきます (不要なものを削除しようとしました)。
これは私が持っているものです。ありがとう
a) 関連するすべての変数を使用して関数「setFusionData()」を呼び出します。setFusionData("'LatLng','name'", 2729461); のようなもの (これは異なる変数で 3 回呼び出されます)
function setFusionData(selColumns,tableId) {
/****
an actual query example is this:
http://www.google.com/fusiontables/gvizdata?tqx=reqId:1234&tq="select+'LatLng','name'+from+2729461"
****/
var query = new google.visualization.Query(
'http://www.google.com/fusiontables/gvizdata?tqx=reqId:1234&tq='+ encodeURIComponent("SELECT "+selColumns+" FROM "+tableId+"")
);
query.send(getFusionData); //do something with the response
}
function getFusionData(response) {
/**
here, is the problem as i need to get the table id or reqId or anything that is uniquely passed on from "setFusionData" above
also something like
alert(JSON.stringify(response)) does not return any reqId or table id either
***/
/*return rows/columns and add values to an array of markers***/
var numRows = response.getDataTable().getNumberOfRows();
var numCols = response.getDataTable().getNumberOfColumns();
for (i = 0; i < numRows; i++) {
/* add markers to array etc this works fine***/
}
}
私もこのようなことを試しました:
function setFusionData(selColumns,tableId) {
......
query.send(getFusionData({reqId:tableId}));
}
function getFusionData(response) {
alert(response['reqId']);//returns tableId. but how do i get the tableData ?
}
これでreqIdを取得できますが、テーブル*データ*は取得できません。したがって、IDまたはデータのいずれかしか取得できません:(
- - 編集 - - - - - - - -
もう少しいじった後(以下を参照)、クエリをブラウザに直接入力したときに返されるキーと値のペアは、スクリプトからの呼び出しによって返されるものとは異なるようです...つまり、次のようになります
http ://www.google.com/fusiontables/gvizdata?tqx=reqId:1234&tq="select+'LatLng','name'+from+2729461"
ブラウザバーに直接入力すると返されます
version:'0.5',reqId:'1234',status:'ok',table etc
ただし、スクリプト内から同じものを呼び出すと、次のようなものが返されます
{
"rj":"0.5","ef":"ok","pb":[],"qb":[],"h":"{"cols":
[{"id":"col2","label":"LatLng","type":"string"},{"id":"col1","label":"name","type":"string"}],
"rows":
[{"c":[{"v":"47.20572,12.70414"},
{"v":"Hohe Tauern"}]},{"c":[{"v":"47.5530395,12.925611"},{"v":"Berchtesgaden"}]},{"c":[{"v":"47.5585405,14.61887"},{"v":"Gesu00e4use"}]}],
"p":{"totalrows":3}
}"
}
、したがって、「reqId」はありませんが、いくつかの暗号化キーのみです(reqIdのように見えるものもありません)......誰でも、なぜそれが/可能性があるのか わかりますか?