0

Fusion Tables からデータを取得して表示する Google マップがあります。多角形をクリックすると、マップが拡大され、元の多角形内の他の多角形が表示されます。これは、2 つの別個の Fusion Tables といくつかの jquery を使用して実現されます。

私の問題は、セット全体ではなく、元のポリゴン内のポリゴンのみを表示しようとしています (たとえば、米国のすべての郡ではなく、クリックされた州内の郡のみを表示します)。サブポリゴンはコード xxyy を使用して保存されます。ここで、xx は元のポリゴンで、yy はサブポリゴンです (したがって、1001 は 10 番目の州であり、その州内の最初の郡になります)。

フュージョン テーブルの "SQL のような" スクリプトを使用して、コードの最初の 2 桁が特定の数字に等しいサブポリゴンのみを取得するにはどうすればよいですか? これが私が試したことです:

map.setOptions({
  'query':
    {
    select: 'geometry', 
    from: ftnumber, 
    where: "'name' starts with " + stateCode
    }
});

name は 4 桁のコードを持つ列であり、stateCode は状態の 2 桁のコードが格納されている変数です。

私も試しました:

map.setOptions({
   'query':
      {
      select: 'geometry', 
      from: ftnumber, 
      where: "'name' like " + stateCode + "__"
      }
});

必要に応じて、その構文を使用してさらに掘り下げることができるため、2 番目のオプションが (可能であれば) 推奨されます。

最終的解決:

  • 列「名前」が数値に設定されています
  • クエリは

    stateCodeHigh = stateCode + 100; map.setOptions({ 'query': { select: 'geometry', from: ftnumber, where: "name >= " + stateCode + " AND name < " + stateCodeHigh } });

4

1 に答える 1

0

「名前」列が文字列型の場合、これらのクエリは両方とも機能するはずです。

Edit > Modify columnsを選択して、列のタイプを確認します。左側の列の「名前」列をクリックします。列のタイプがテキストでない場合は、[タイプ] ドロップダウン メニューを使用して列を [テキスト] に設定します。

于 2011-12-20T02:32:50.407 に答える