1

Fusion Charts を Android 2.2 (エミュレーター) で動作させようとしています。しかし、何もロードしていません。空白の画面しか見えません。

以前に Android デバイス / エミュレーターで Fusion Charts を実行したことのある人はいますか? Fusion チャートは Android 自体で実行できますか?

編集:

Androidのデフォルトブラウザでチャートを読み込もうとしました。その中で、それもロードされていません。しかし、Opera と Mozilla Firefox で動作します。何か案が?

追加情報: ブラウザのバージョンは Webkit 3.1 です

4

2 に答える 2

4

FusionCharts Flash バージョンは、Flash をサポートするデバイス (Glaxy Tab など) で正常に読み込まれます。

JavaScript版の場合は話が少し異なります。ここにメモのセクションをコピーしています。


  1. FusionCharts は、JavaScript ベースのチャートをレンダリングするために、HighCharts の拡張バージョンを使用します。

  2. HighCharts は、ビジュアライゼーションをレンダリングするテクノロジーとして「SVG」を使用します。HTML5 の一部と見なされていますが、特定のモバイル プラットフォーム (Android など) は、現時点ではまだ SVG をサポートしていません。

  3. 現在、Android は HTML5 の描画技術として「canvas」をサポートしています。Gingerbread は SVG を完全にサポートする予定です。

HighCharts の歴史を参照すると、HighCharts バージョン 1.x は canvas をサポートしていたことがわかりますが、2.x 以降では、主要なモバイル プラットフォームでの SVG サポートの組み込みを見越して、SVG に移行しています。

FusionCharts では、HighCharts 2.x をベースとして FusionCharts をレンダリングしています。したがって、Android では動作しません。

ただし、回避策があります。FusionCharts で提供されている highcharts.js (2.x) を古い highcharts.js に置き換えると、Android プラットフォームで正常に動作することがわかります。ただし、HighCharts に対して行われた多くの拡張機能が失われるため、機能が制限されることになります。

私は自分のポイントが明確だったことを願っています。さらに明確にする必要がある場合は、より多くの情報を提供できます。特に Android ベースのブラウザーを検出し、古い HighCharts JS ファイルを選択的にロードすることで、古い highcharts.js の実装を支援することもできます。

また、SVG または VML をサポートしていないがキャンバスをサポートしているデバイス用に、古い HighChart のこの置き換えを適切に処理する FusionCharts の小さな拡張機能もあります。

http://www.fusioncharts.com/labs/peek/canvasmodulefallback/で実際の動作を確認できます。

http://www.fusioncharts.com/labs/peek/canvasmodulefallback/sample-canvasmodulefallback.zipからファイルをダウンロードします。

于 2011-05-23T19:38:05.497 に答える
1

データがモバイル デバイスのクラッシュになるとゼロになります。

    var chartObj1 = new FusionCharts({
        swfUrl:'Charts/Column2D.swf',

        renderer: 'javascript',
        renderAt: 'chartspan',

        dataSource: {
            "chart": {
                "caption" : "Sales Summary",
                "subcaption": "Summary of Sales"
            },
            "data": [
                {"value":"0"},
                {"value":"0"},
                {"value":"0"},
                {"value":"0"}
            ]
        },
        dataFormat: FusionChartsDataFormats.JSON
    }).render();
于 2012-01-29T09:44:23.943 に答える