mapboxとleaflet.jsを使用してマップベースのWebアプリケーションを構築しようとしています。Internet ExplorerのLeaflet.jsのパフォーマンスが悪い
geoJSONファイルからfeatureLayerに約300個のマーカーをロードしています。これは、インターネットエクスプローラを除くすべてのブラウザでうまく機能しているようですが、featureLayer.setFilterを使用してマーカーが読み込まれるたびに10秒間フリーズされます。私はこのhereのデモをアップロードしました。
IEパフォーマンス分析でロックすると、犯人が 'addDoubleTapListener'のように見えます。これは既知の問題(https://github.com/Leaflet/Leaflet/issues/4357)であると思われ、ソリューションはリーフレット0.7.5にロールバックするか、または0.7.7.1ブランチ(タッチ検出を元に戻す修正がある)を使用してロールバックすることを推奨します。私は両方を試みましたが、どちらも問題に影響を与えていないようです。リーフレット1.0.0-betaへのアップグレードも提案されていますが、現在のマップボックスと互換性がないようです...
この問題を解決するための助けがあれば幸いです。
if (L.Browser.touch && (type === 'dblclick') && this.addDoubleTapListener) {
this.addDoubleTapListener(obj, handler, id);
}
IEは現在、高速のマーカー雷をロードし、すべての機能はまだで動作しているように表示されます。
私はIE(9+)に数千のマーカーをロードしましたが、この問題に気づいていませんでしたが、実際には 'setFilter'を使用していません。私は通常、マーカーをAJAX経由で徐々にチャンクに追加します。 'L.geoJson(data)'の代わりに、 'geoJsonLayer.addData()'を使って一度に複数の機能を追加すると、改善されますか?また、テストしてプロファイルできるように、サンプルコードを作成してください。 – nothingisnecessary
Edgeで同じパフォーマンスの問題があります。 –