オフセット、yはそうのような座標:リーフレットマップは、私はXを使用して大きな画像をレンダリングするためにリーフレットを使用しようとしているのxy
var map = L.map('map', {
crs: L.CRS.Simple,
attributionControl: false,
reuseTiles:true,
}).setView([0, 0], 1);
問題は、私は拡大すると、私はオフセットを得るように見えるということです。だから私は継続的に地図をズームするように見える。
私はそれが私がコードにこの間違ったを取得していますことを、かなり可能です+ C#とGDIを使用してバックエンドで画像を描画しています:
private void DrawLine(int x, int y, int z, int squareSize, Graphics g, Shape shape, Pen drawPen)
{
Line line = (Line)shape;
var scalingFactor = 0.1;
var zoom = (z * (scalingFactor));
double startScaledX = (line.StartPoint.X * zoom) + ((squareSize * -1) * x);
double startScaledY = (line.StartPoint.Y * -1 * zoom) + ((squareSize * -1) * y);
double endScaledX = (line.EndPoint.X * zoom) + ((squareSize * -1) * x);
double endScaledY = (line.EndPoint.Y * -1 * zoom) + ((squareSize * -1) * y);
var width = Math.Abs(endScaledX - startScaledX);
var height = Math.Abs(endScaledY - startScaledY);
var startPoint = new System.Drawing.PointF((float)startScaledX, (float)startScaledY);
var endPoint = new System.Drawing.PointF((float)endScaledX, (float)endScaledY);
var rectDrawBounds = (new RectangleF((float)startScaledX, (float)startScaledY, (float)width, (float)height));
var rectTileBounds = new RectangleF(0, 0, 256, 256);
g.DrawLine(drawPen, startPoint, endPoint);
}
私は0,0 [私はでズームイン、ズームアウトならばということに気づきましたズームが完全に機能します。他のすべてが地図をシフトしているようです。
私はあなたが提供できる任意のヘルプに感謝します。
残念ながら、これは問題を解決しません。確かにズーム係数は改善されますが、マップがシフトしています。私はこれが投影とは関係があるかもしれないと思うが、わからない。 –
Nope。スケールを修正すると、座標はズームレベル間で一致し、「シフト」しません。この変化が見られます。デバッグに役立つようにhttps://playground-leaflet.rhcloud.com/wuna/edit?html,outputのようなデバッググリッド層を使用することができます。 – IvanSanchez