Re: SVG Tiling and Layering (SVG Map) デモサイト 立ち上げ

高木です。

このAJAXですが、課題としては、重いという感想を一番多くいただいています。

データが大きく、しかもDOMを酷使するので重いのかな?
と最初は思っていたのですが、どうもそれだけとは言えないようです。

重いと感じる一番大きい点として、
 スクロールや伸縮をドラッグ・ピンチなどの直感的な操作で行えない
というものがあると思っています。

実は、ドラッグを実装しようと試みはしたのですが、
ドラッグ操作に追いつけるような高速なSVGの再描画はどのブラウザでも不可能で、
実現は難しいことがわかりました。

#今の実装でも、マウスをクリックしたまま移動させてリリースすると、
#その移動量分表示エリアが移動はしますが・・・・

次善策として、SVGの再描画はさせず、画面のビットイメージのままシフトさせる
処理が可能な方法が無いか調べてみたのですが、方法が見つかっていません。

XHTMLの<p>要素の下にSVGを埋め込み、その要素にstyle="position:absolute;top:nnnpx;left:nnnpx"
等と設定し、top,left値を操作するようなことを試みましたがやはりSVGの再描画はどのブラウザでも起きてしまうようです。

CANVASにgetImageData()やdrawImage()があるのでこれも試してみましたが描画済みのSVGのイメージを取り込むことができないようです。

恐らくFirefoxに独自実装されていて、さらに利用制限があるdrawWindow()ぐらいしかできないのではないかと思われます。

何か良い解決方法をご存知ないでしょうか?

#また、Operaで動かないという点に関してはもう少し根深い課題が・・・ これはまた後ほど

<201006211930.CJI10552.BLTJUBtBH@kddi.com> の、
   "SVG Tiling and Layering (SVG Map) デモサイト 立ち上げ" において、
   "Satoru Takagi <sa-takagi@kddi.com>"さんは書きました:

> SVG IG Japanの皆様
> 
> 高木です。
> 
> これまで検討を続けてきました、SVGを使った地図プラットホームの規格
> SVG Tiling and LayeringのエッセンスをAJAXでデモするためのソフトを作ってみました。
> 
> 動作環境は、 Chrome, Firefox, Safari です。
> #残念ながら、Operaでは動きません・・・
> 
> NPO GIS総研様に協力いただき、以下にサイトを用意しましたのでお試しください。
> 
> http://www.gissoken.org/svg/maps/tech_kddi/
> 
> 本来はブラウザにネイティブ実装されないと性能が出ませんし、
> ドメインをまたがったマッシュアップもできないのですが、
> 性能に関しては 最近のブラウザでは結構 動いてしまうようです。
> 
> また、プリンタで印刷すると高解像度で印刷できますね(Firefoxで確認)
> 
>

Received on Wednesday, 4 August 2010 02:05:59 UTC