2017-11-13 4 views
1

Leaflet.jsを使用して作成されたようなユーザー生成マップの画像をキャプチャするにはどうすればよいですか?私はマップを生成websiteを持ってマップからの画像の生成

  • はここに私の例です。

  • は、私はそのマップ

    • 例えばの画像を保存したいですユーザーがプロフィールを共有すると、プレビュー画像は地図のものとなります。

私はFacebookの、Stravaを知っているし、他のほとんどのサービスは、ニュースでユーザマップの画像を表示インタラクティブマップを示すのではなく、フィード。

問題

マップはクライアント側を生成しているが、そのマップのサーバーサイドのイメージをつかむことはできません

は、考えられる解決策

マップが生成されると、使用PhantomJSは地図のスクリーンショットをキャプチャし、残りのウェブサイトをトリミングします。

質問

これを行うために、このような一般的なものですので、これらのスクリーンショットをつかむのより良い以上の標準的な方法を知って誰ですか?私はマップボックスの静的APIのようなものを見てきましたが、それは私のマップ上のカスタムピンとラインフィーチャーをキャプチャしません。

私はバックエンドにレールを使用しています。

答えて

0

マップを作成してURLパラメータを読み取り、その状態を設定することができます。ユーザーが地図上で何かを変更すると、地図の状態はURLパラメータとして保存され、PhantomJSが生成するためにサーバに送信/保存します。 など。

&coords=123.123,10.123,54.54,45.11&zoom_level=5&.... 
+0

いくつかのマップには数千の値があります。そのためマップレイヤーを作成するためにGeoJSONオブジェクトを生成して保存します。私は、ユーザがマップを作成/更新するたびにスクリーンショットを撮るためにphantomJSを使用する小さなノードアプリケーションを作成しなければならないと仮定しています。 – Arel

関連する問題