2017-04-19 14 views
1

Mapboxマップを操作するためにMapbox GL JS APIを使用しています。私の結果(canvas.toDataURL)をHTTP経由でサーバーにアップロードする直前に、マップのサイズを変更し(より大きな解像度)、元のポイントに戻るためにfitboundを使用する必要があります。フィット境界の後に火災が発生すると、新しいタイルをすべて読み込むために地図が表示されます。この後、実際にアップロードを実行できます。今のところ、すべてのタイルがロードされているかどうかを私に知らせるイベントがあるかどうかはわかりません。すべてのタイルがロードされたときのMapBoxイベント

私は可能なすべてのロード関数とイベントをAPIで試しました。 GITHUBプロジェクトにはいくつかの問題がありますが、少なくとも1年前に更新されました。途中で2015年まで、彼らはアイドルイベントの追加について話し始めましたが、どこにも新しいドキュメントを見つけることはできません。

誰かが地図が読み込まれるのを待つコードを作る方法を見つけましたか?またはこの機能のアップデートに関する情報がありますか?

私はそれが問題ではないかと疑いますが、私はangular.jsアプリで作業しています。

答えて

3

あなたが探しているように聞こえるMap#areTilesLoadedチェックを追加しました。それは次のリリース(v0.37.0)で外に出るはずです。それまでの間は、次のように動作するはずです。

map.on('sourcedata', (e)=> { 
    if (map.loaded()) { 
    // all tiles are loaded 

    // turn off sourcedata listener if its no longer needed 
    map.off('sourcedata'); 
    } 
}); 
関連する問題