最近项目做到了关于百度地图 方面,需要将百度坐标系转换为其他坐标系的需求。所以在整合了一下网上的代码之后,自己做了一个.js类
具体方法名如下:
bd09togcj02 百度坐标系 (BD-09) 与 火星坐标系 (GCJ-02)的转换
gcj02tobd09 火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换
wgs84togcj02 WGS84转GCj02
gcj02towgs84 GCJ02 转换为 WGS84
out_of_china 判断是否在国内,不在国内则不做偏移
其中我还是用到了需要使用不用翻墙的GOOGLE地图做高精度高辨识度Static 图片的需要,所以在这里给大家diss一个小技巧
目前国内由于政策问题对于google地图的API基本上都被隔了。所以如果需要使用google的API,首先大家必须先去申请一个google地图API使用的权限,具体如何申请,请各位看客去百度一下,这一步必须大家翻墙才能申请,这是没办法的,申请之后每个月都有足够个人开发者使用API的次数权限。如果你申请成功了,那么恭喜,只要将所有google地图的域名改为 http://ditu.google.cn/maps/api 就可以使用了。
话不多说了,.js代码如下
export default class Changer{
/**
* Created by Wandergis on 2015/7/8.
* 提供了百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换
*/
//定义一些常量
constructor(){
var x_PI = 3.14159265358979324 * 3000.0 / 180.0;
var PI = 3.1415926535897932384626;
var a = 6378245.0;
var ee = 0.00669342162296594323;
}
out_of_china(lng, lat) {
return (lng < 7