2017-06-07 24 views
2

私は、リーフレットを使用しています。L.CRS.Simpleの単純なイメージで作業しています。 描画ツールバーは、円の描画以外は正常に動作します。 L.CRS.Simpleを使用している場合Leaflet.drawプラグインとのリーフレットマップに描画円を有効にする方法leaflet.drawとCRS.Simpleを使って円を描画する方法

http://playground-leaflet.rhcloud.com/kapi/edit?html,output

+1

**サークルは追加されていますが、その半径は瞬時に非常に大きく、マップ全体をカバーしているため、ユーザーは何もないと思うかもしれません。 'L.CRS.Simple'と組み合わせるとバグかもしれません。 – ghybs

+0

ちょっと@ghybsあなたは正しい、ちょうど以下のansとして問題をlatlng。 – Pavan

答えて

4

問題は、L.CRS.simpleを使用して円を描こうとしていることです。 円は(L.Draw.circle_drawShape())描かれている場合、半径はL.LatLng.distanceToの結果から設定され、この距離は、実際L.CRS.Earth

L.CRS.Smpleに基づいて算出されます使用されている半径は本当に巨大になり、外に出る。 他の図形を描いている間は、L.LatLng.distanceToメソッドを使用しないので問題はありません。あなたはこのオーバーライドを行うことができますどのような回避策として

、:

L.LatLng.prototype.distanceTo = function (currentPostion) { 
    var dx = currentPostion.lng - this.lng; 
    var dy = currentPostion.lat - this.lat; 
    return Math.sqrt(dx*dx + dy*dy); 
} 

これは、トリックを行います。

問題の詳細な説明は以下のリンクで与えられる: https://github.com/Leaflet/Leaflet.draw/issues/611

ホープ、このことができます!