vtils
Version:
一个面向业务的 JavaScript/TypeScript 实用程序库。
60 lines (58 loc) • 2.22 kB
JavaScript
"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);