2

私の目標は、ユーザーがルートを描画してサイトに送信できるようにすることです。

次のjsfiddleでは、ユーザーはルートを描画し、終了したらダブルクリックできます。ダブルクリックすると、KML座標が事前に入力された[場所]フィールドを含むGoogleフォームが表示されます。ユーザーはそれを送信でき、承認されるとすぐに表示できるようにFusionTableに移動します。

これがjsfiddleです。そしてコード:

      //here is the variable with properly formatted KML 
  geolines=escape("<LineString><coordinates>")+poly.getPath().getArray().toString().replace(/([\s]+)/g, '')+escape("</coordinates></LineString>") ;

  //infowindow that should display a form with Location field pre-populated with geolines variable for easy submission.
infowindowv2 = new google.maps.InfoWindow({
        content: '<iframe width=600 height=300 scrolling=yes frameborder=no seamless src=https://docs.google.com/spreadsheet/embeddedform?formkey=dDN6WEJTMlNHT2VNMlZBOW1MZmI1Wnc6MQ&entry_0=Test1&entry_1='+ geolines +'&entry_2=test3%22 seamless></iframe>'
});

問題は、ズームアウトしてより複雑なルートを描画すると、KMLがすぐに大きくなりすぎて、次のエラーが発生することです。「413。これはエラーです。クライアントが大きすぎるリクエストを発行しました。これですべてです。 。 "ここを参照してください。

今、私はそれをどのように回避すべきかについて考えていることに驚いています。

マップ/フォーム/フュージョンテーブルが連携する方法が好きで、この組み合わせを保持したいのですが、方法がわかりません。

どんなリード、アイデア、提案もいただければ幸いです。ご覧いただきありがとうございます。

4

1 に答える 1

1

このエラーは、データを URL クエリ文字列の一部として渡すことに関係しています (これには約 2000 文字の制限があります:さまざまなブラウザーでの URL の最大長は? )。この情報は、フォーム エレメントとして渡されるすべてのデータと共にフォーム ポストの一部として渡す必要があります (つまり、地理データは、URL にポストするフォーム「フィールド」になります)。このように勝手に長い URL を渡す方法はありません。

EDITは、元の投稿を意味のあるものに修正しました。

更新この投稿は関連しているようです。それは、iframe にデータを取得する問題にすぎません:ウィンドウから iframe に値を渡す

またはこれ:iframeと親の間でjquery変数を渡す

基本的に、メインウィンドウからフレーム要素を操作します - これはあなたの状況でうまくいくはずです。それが機能するようになったら、結果の jsfiddle - きちんとしたツールを投稿する必要があります。

于 2013-01-18T22:09:31.760 に答える