UNPKG

vtils

Version:

一个面向业务的 JavaScript/TypeScript 实用程序库。

60 lines (58 loc) 2.22 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; exports.__esModule = true; exports.GeoCoord = void 0; var _gcoord = _interopRequireDefault(require("gcoord")); var makeTransformer = function makeTransformer(from, to) { return function (input) { var res = _gcoord.default.transform([input.longitude, input.latitude], from, to); return { longitude: res[0], latitude: res[1] }; }; }; /** * 地理坐标系转换工具。 * * - `大地坐标系(WGS84 坐标系)`: GPS 全球卫星定位系统使用的坐标系; * - `火星坐标系(GCJ02 坐标系)`: 腾讯地图、高德地图等使用的坐标系,是由中国国家测绘局制定的由 WGS84 加密后得到的坐标系; * - `百度坐标系(BD09 坐标系)`: 百度地图使用的坐标系,是在 GCJ02 基础上再次加密得到的坐标系。 */ var GeoCoord = exports.GeoCoord = function GeoCoord() {}; /** * `WGS84 坐标系` 转 `GCJ02 坐标系`。 * * 应用场景:GPS 坐标转腾讯地图、高德地图坐标。 */ GeoCoord.WGS84ToGCJ02 = makeTransformer(_gcoord.default.WGS84, _gcoord.default.GCJ02); /** * `WGS84 坐标系` 转 `BD09 坐标系`。 * * 应用场景:GPS 坐标转百度地图坐标。 */ GeoCoord.WGS84ToBD09 = makeTransformer(_gcoord.default.WGS84, _gcoord.default.BD09); /** * `GCJ02 坐标系` 转 `WGS84 坐标系`。 * * 应用场景:腾讯地图、高德地图坐标转 GPS 坐标。 */ GeoCoord.GCJ02ToWGS84 = makeTransformer(_gcoord.default.GCJ02, _gcoord.default.WGS84); /** * `GCJ02 坐标系` 转 `BD09 坐标系`。 * * 应用场景:腾讯地图、高德地图坐标转百度地图坐标。 */ GeoCoord.GCJ02ToBD09 = makeTransformer(_gcoord.default.GCJ02, _gcoord.default.BD09); /** * `BD09 坐标系` 转 `WGS84 坐标系`。 * * 应用场景:百度地图坐标转 GPS 坐标。 */ GeoCoord.BD09ToWGS84 = makeTransformer(_gcoord.default.BD09, _gcoord.default.WGS84); /** * `BD09 坐标系` 转 `GCJ02 坐标系`。 * * 应用场景:百度地图坐标转腾讯地图、高德地图坐标。 */ GeoCoord.BD09ToGCJ02 = makeTransformer(_gcoord.default.BD09, _gcoord.default.GCJ02);