General.Core/Common/Map/ConvertGPS.cs
(开头部分) 5KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace General.Core.Common.Map
{
public class TempGps
{
public double Tlng;
public double Tlat;
}
public class GPS
{
public string oLng;//经度 度分秒坐标
public string oLat;//纬度 度分秒坐标
public double lng;//经度 WGS-84
public double lat;//纬度 WGS-84
public double gLng;//经度 GCJ-02 中国坐标偏移标准 Google Map、高德、腾讯使用
public double gLat;//纬度 GCJ-02 中国坐标偏移标准 Google Map、高德、腾讯使用
public double bLng;//经度 BD-09 百度坐标偏移标准,Baidu Map使用
public double bLat;//纬度 BD-09 百度坐标偏移标准,Baidu Map使用
public double PI = Math.PI;
double xPI = Math.PI * 3000.0 / 180.0;
public TempGps delta(TempGps t)
{
var a = 6378245.0; // a: 卫星椭球坐标投影到平面地图坐标系的投影因子。
var ee = 0.00669342162296594323; // ee: 椭球的偏心率。
var dLat = this.transformLat(t.Tlng - 105.0, t.Tlat - 35.0);
var dLng = this.transformLng(t.Tlng - 105.0, t.Tlat - 35.0);
var radLat = t.Tlat / 180.0 * PI;
var magic = Math.Sin(radLat);
magic = 1 - ee * magic * magic;
var sqrtMagic = Math.Sqrt(magic);
return new TempGps() { Tlat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * PI), Tlng = (dLng * 180.0) / (a / sqrtMagic * Math.Cos(radLat) * PI) };
}
//WGS-84 to GCJ-02
public void gcj_encrypt()
{
if (this.outOfChina(lng, lat))
{
gLng = lng;
gLat = lat;
}
var t = this.delta(new TempGps() { Tlng = lng, Tlat = lat });
gLng = t.Tlng + lng;
gLat = t.Tlat + lat;
}
//GCJ-02 to WGS-84
public void gcj_decrypt()
后面还有 118 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
