收藏
回答

小程序中的地图定位不准确,是wgs84标准转火星标准的问题吧。

问题模块
API和组件

小程序中的地图定位不准确,是wgs84标准转火星标准的问题吧,之前用后台写能解决这个问题,现在js怎么解决这个转换呢,有没有在小程序里解决该问题的



以前程序里的代码是:

public static final String BAIDU_LBS_TYPE = "bd09ll";


    public static double pi = 3.1415926535897932384626;

    public static double a = 6378245.0;

    public static double ee = 0.00669342162296594323;


    /**

     * 84 to 火星坐标系 (GCJ-02) World Geodetic System ==> Mars Geodetic System

     *

     * @param lat

     * @param lon

     * @return

     */

    public static Gps gps84_To_Gcj02(double lat, double lon) {

        if (outOfChina(lat, lon)) {

            return null;

        }

        double dLat = transformLat(lon - 105.0, lat - 35.0);

        double dLon = transformLon(lon - 105.0, lat - 35.0);

        double radLat = lat / 180.0 * pi;

        double magic = Math.sin(radLat);

        magic = 1 - ee * magic * magic;

        double sqrtMagic = Math.sqrt(magic);

        dLat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * pi);

        dLon = (dLon * 180.0) / (a / sqrtMagic * Math.cos(radLat) * pi);

        double mgLat = lat + dLat;

        double mgLon = lon + dLon;

        return new Gps(mgLat, mgLon);

    }


最后一次编辑于  2017-01-17
回答关注问题邀请回答
收藏

1 个回答

  • 冰冻的火苗
    冰冻的火苗
    2017-01-17

    http://lbs.qq.com/webservice_v1/guide-convert.html 腾讯地图api

    2017-01-17
    赞同
    回复