OpenLayersは次のような配列を使用します:[15711464.77174924, 1340284.424706252]
中心の座標を処理mapbox-gl
しますが、-90から90の間の値を設定する必要があり、次のエラーが発生します:
Error: Invalid LngLat latitude value: must be between -90 and 90
15711464.77174924
それで、次のような座標を-90から90の間に変換する方法はありますか?
球形のメルカトル座標は、世界が半径6378137メートルの球体であると想定しています。度に変換するには(OpenLayersソースコードhttps://github.com/openlayers/openlayers/blob/main/src/ol/proj/epsg3857.js#L132-L134に基づく)、関数は次のようになります。
function toLonLat(input) {
const RADIUS = 6378137;
const HALF_SIZE = Math.PI * RADIUS;
const lon = (180 * input[0]) / HALF_SIZE;
const lat =
(360 * Math.atan(Math.exp(input[1] / RADIUS))) / Math.PI - 90;
return [lon, lat];
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加