IT门户, 中国互联网人工智能物联网行业资讯平台--公众IT
新闻来源:互联网资料整理       发布时间:2023/4/6 3:24:47       共计:4605 浏览

前言:

2小时前小编发现微信小程序用户:【Mr.W】提出了一个关于“map问题,小程序用的经纬度和百度地图的一致吗?需要转换吗?”的问题,在问题中开发者Mr.W对该问题做了如下阐述:

问题类型:

  • 其他开发相关的问题:

问题描述:

1、如题

2、小程序的地图有没有更多的案例可供CV大法?


注:以上是微信小程序开发者:"Mr.W"对于本问题的一些阐述,这里做一个引用,我们将实时关注微信小程序助手对该问题提出的解决方案。

解决方案:

【2小时前】微信小程序技术运营专员对用户Mr.W提出的map问题,小程序用的经纬度和百度地图的一致吗?需要转换吗?给予如下回复

/**
 * 返回两个经纬度之间的距离
 * @param  {string} lat1    起点纬度
 * @param  {string} lng1    起点经度
 * @param  {string} lat2    终点纬度
 * @param  {string} lng2    终点经度
 * @return {string}         返回两个经纬度之间的距离
 */
 
function getDistance(lat1, lng1, lat2, lng2) {
    function e(lat1, lng1, lat2, lng2) {
        lat1 = (lat1 * f) / 180;
        lat2 = (lat2 * f) / 180;
        lng1 =
            2 *
            Math.asin(
                Math.sqrt(
                    Math.pow(Math.sin((lat1 - lat2) / 2), 2) +
                        Math.cos(lat1) *
                            Math.cos(lat2) *
                            Math.pow(Math.sin(((lng1 * f) / 180 - (lng2 * f) / 180) / 2), 2),
                ),
            );
        return (lng1 = Math.round(6378137 * lng1));
    }
    let f = Math.PI;
    return 1e3 < e(lat1, lng1, lat2, lng2) ? Math.round(e(lat1, lng1, lat2, lng2)) : e(lat1, lng1, lat2, lng2);
}
/**
 * 百度地图经纬度转为腾讯地图经纬度
 * @param {Number} lat
 * @param {Number} lng
 * @returns
 */
function bdMapToTxMap(lat, lng) {
    let pi = (3.14159265358979324 * 3000.0) / 180.0;
    let x = lng - 0.0065;
    let y = lat - 0.006;
    let z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * pi);
    let theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * pi);
    lng = z * Math.cos(theta);
    lat = z * Math.sin(theta);
    return { lng: lng, lat: lat };
}
/**
 * 腾讯地图转百度地图经纬度
 * @param {Number} lat
 * @param {Number} lng
 * @returns
 */
function txMapToBdMap(lng, lat) {
    let x_pi = (3.14159265358979324 * 3000.0) / 180.0;
    let x = lng;
    let y = lat;
    let z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi);
    let theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi);
    let lngs = z * Math.cos(theta) + 0.0065;
    let lats = z * Math.sin(theta) + 0.006;
 
    return {
        lng: lngs,
        lat: lats,
    };
}

结语:

微信官方智能小程序的月活用户超过1.5亿,现在有着40多个流量入口,未来估计能够达到70多个。微信官方小程序不仅可以运行在微信官方系列的产品上,像例如爱奇艺、携程等,都是支持微信官方小程序运行的,这个数量高达40多个。像这样情况,对企业来说,这将意味着接触到更多的用户,微信官方的小程序的开放申请就又为企业在新移动时代的网络营销多了一个选择和流量阵地。

如果您也在使用微信小程序,请关注我们,如果您有关于微信小程序的使用问题请关注我们,如果您要找百度小程序模板、微信小程序模板请关注小程序模板网或者去微信开放社区找官方人员给予解决,相信微信官方在小程序上的发力会是一个里程碑!

版权说明:
本网站凡注明“公众IT 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
您可以扫描右侧微信二维码联系我们。
网站首页 关于我们 联系我们 合作联系 会员说明 新闻投稿 隐私协议 网站地图