业务场景:微信公众号中获取用户位置信息后在百度地图上标注出来。由于百度用的自己的(BD09)坐标系,腾讯用的火星(gcj02)坐标系,不转换直接定位会有很大的偏差。其实gcj02是中国标准坐标系,国内大部分的地图厂商都是gcj02坐标系。所以只要是gcj02坐标系地图厂商,都可以用该算法和百度(BD09)坐标系互换。
小提示:谷歌地图用的是wgs84的gps坐标,转换国内的地图坐标也需要用相关算法转换
疑问:为什么要用微信API获取而不直接用百度API获取?
在微信中用百度api获取每次打开都要弹出“xxxx.com想要获取您当前位置。。。”的授权提示,如果用户一不小心点了取消,想在启用就很麻烦,而微信API只要授权一次就不会在弹出授权提示了。
JS本身的Date对象用起来很是繁琐,moment库提供了日期格式化、相对时间、日历时间、时间戳转换等方法。使用起来及其方便,支持nodejs
//部分代码实例
moment().format('MMMM Do YYYY, h:mm:ss a'); // 九月 9日 2020, 10:36:27 晚上
moment().format('dddd'); // 星期三
moment().format("MMM Do YY"); // 9月 9日 20
moment().subtract(3, 'days').calendar(); // 上星期日22:36
moment().subtract(1, 'days').calendar(); // 昨天22:36
moment().calendar(); // 今天22:36
中文文档: http://momentjs.cn/docs/
CDN加速地址:https://cdn.staticfile.org/moment.js/2.9.0/moment.min.js