0
Leafletjs Drawライブラリを使用して楕円と円を描画しようとしていますが、問題はありません。円境界はmousemoveのマウスポインタでは触れません。ここにコードとフィドルがあります。あなたは、マウスポインタを観察する楕円形を描画するLeafletjs描画ライブラリを使用して楕円を描く
試みは、円の境界
に触れていないhttps://jsfiddle.net/Lscupxqp/12/
var points = [L.GeoJSON.latLngToCoords(this._startLatLng),L.GeoJSON.latLngToCoords(latlng)];
var x = Math.abs(points[1][0] - points[0][0]);
var y = Math.abs(points[1][1] - points[0][1]);
var x_percent, y_percent;
x_percent = y_percent = 1;
//show in %
if(x < y) {
x_percent = x/y;
}
else {
y_percent = y/x;
}
this._drawShape(latlng);
this._shape.rx = x_percent;
this._shape.ry = y_percent;
GetPathString方法
getPathString: function() {
var p = this._point,
r = this._radius;
if (this._checkIfEmpty()) {
return '';
}
//console.log(this);
if (L.Browser.svg) {
var rr = 'M' + p.x + ',' + (p.y - r) + 'A' + (r * this.rx) + ',' + (r * this.ry) + ',0,1,1,' + (p.x - 0.1) + ',' + (p.y - r) + ' z';
return rr;
} else {
p._round();
r = Math.round(r);
return 'AL ' + p.x + ',' + p.y + ' ' + r + ',' + r + ' 0,' + (65535 * 360);
}
}
私はあなたのフィドルで、円の中心が安定していないが、垂直(子午線)の線に沿って動いているのを見ています。マウスがダウンしているときにそれを固定する必要がありますか?あなたのサークルを描く関数とパラメータは何ですか? – MBo
@MBo CircleはSVGを基にしたもので、上のコードでは円を描いています – MZH