2016-09-13 11 views
2

技術的でないユーザーからのマップされた個々のポリゴンのデータを収集する最も軽量な方法を見つけようとしています。ここでは最終的なビジョンがあります。ユーザーはWebフォームに記入し、図形を描き、書式設定されたデータを私または同僚に簡単に電子メールで送信することができます(私の知っているとおり、電子メールのアイデアはおそらく恐ろしい読者ですが、私のコントロールを超える制限的なパラメータがたくさんあります。電子メールは既知の量です)。リーフレットデータコレクションまたはgeojson.ioマップをフォームに埋め込みます

geojson.ioのようなものを削除する方法、またはleaflet.drawを使用したリーフレットマップを作成して、結果の座標を電子メールで送信できるテキストに変換する方法はありますか?

また、私のニーズは基本的です。 1つの図形が一度にマップされます。ビジュアルオプションが少なく、コントロールが優れています。私の聴衆は、ほとんど非常に非技術的です。

this user was trying to ask the same questionのように見えますが、それほど遠くはありませんでした。

ありがとうございます!

答えて

1

としてはhereを説明し、あなたが直接あなたにGeoJSONデータを送信することはできませんが、ブラウザがプリセットデータとのメールクライアントを開いてみましょうことができます。ここで

var text=JSON.stringify(drawnItems.toGeoJSON()); 
    window.open('mailto:[email protected]?subject=subject&body=' + text); 

はフルexample

+0

これは素晴らしいです。まさに私が探していたもの。私は最終的にこれを本当に機能的なものに作り上げることができると思う。ギャップを埋めてくれてありがとう。 – jolene

2

コンセプトの迅速な証拠、Leaflet.draw例からコードを適応:

var drawControl = new L.Control.Draw({ 
    edit: { 
    featureGroup: drawnItems 
    } 
}); 
map.addControl(drawControl); 

map.on('draw:created', function(e) { 
    var layer = e.layer, 
     popupContent = layer.toGeoJSON ? 
     JSON.stringify(layer.toGeoJSON()) : "(no data)"; 

    drawnItems.addLayer(layer); 

    layer.bindPopup(popupContent).openPopup(); 
}); 

これはにGeoJSON文字列に描かれたアイテムを変換して、項目にバインドされたポップアップに表示します。

デモ:https://jsfiddle.net/3v7hd2vx/75/

+0

感謝です!これは役に立つスタートです。私はまだジオジソンをコードを見てユーザーを圧倒しないようにする方法に取り組んでいます。しかしこれはすばらしい出発点です。 – jolene

関連する問題