jVectorMap の世界地図は、ファン デル グリンテン図法を使用しています。マップとの間で変換する式は、この
ウィキペディアとWolframの記事にあります。
上記の式が経度/緯度 (-180 度から 180 度) を (-1 から +1) デカルト グリッドに投影すると、マップのサイズとオフセットに合わせてスケーリングする必要があります。
また、式の角度は度ではなくラジアンにする必要があります。
function vanDerGrinten(lat, lng) {
lat = lat * Math.PI / 180;
lng = lng * Math.PI / 180;
var lng0 = 0;
var A1 = 0.5 * Math.abs((Math.PI / (lng - lng0) - (lng - lng0) / Math.PI));
var phi = Math.asin(Math.abs(2 * lat / Math.PI));
var G = Math.cos(phi) / (Math.sin(phi) + Math.cos(phi) - 1);
P = G * (2 / Math.sin(phi) - 1);
Q = A1 * A1 + G;
x0 = A1 * A1 * (G - P * P) * (G - P * P) - (P * P + A1 * A1) * (G * G - P * P);
x1 = (A1 * (G - P * P) + Math.sqrt(x0));
x2 = (P * P + A1 * A1);
x = sgn(lng - lng0) * Math.PI * x1 / x2;
y = sgn(lat) * Math.PI * Math.abs(P * Q - A1 * Math.sqrt((A1 * A1 + 1) * (P * P + A1 * A1) - Q * Q)) / (P * P + A1 * A1);
return { _x: x, _y: y };
}