上海城市坐标

这个词我也是这个项目才听说,然后百度了个转换方法,其实对不对我也不知道,因为我压根不知道上海城市坐标从哪儿看

贴贴代码

function wgs84Tosh(lat, lon) {
        var xx, yy, r2d, tolat, tolon, rearth, PI;
        PI = 3.141592653589793;
        r2d = 57.2957795131;
        tolat = (31 + (14.0 + 7.55996 / 60.0) / 60.0) / r2d;
        tolon = (121.0 + (28.0 + 1.80651 / 60.0) / 60) / r2d;
        rearth = 6371006.84; var hor, frlat, frlon, gcdist, clatf, clatt, slatf, slatt, gcbrg;
        var dlon, cdlon, sdlon, sdist, cdist, sbrg, cbrg, temp;
        var intlat, intlon;
        intlat = lat;
        intlon = lon;
        frlat = lat / r2d;
        frlon = lon / r2d;
        clatt = Math.cos(frlat);
        clatf = Math.cos(tolat);
        slatt = Math.sin(frlat);
        slatf = Math.sin(tolat);
        dlon = frlon - tolon; cdlon = Math.cos(dlon);
        sdlon = Math.sin(dlon);
        cdist = slatf * slatt + clatf * clatt * cdlon;
        temp = (clatt * sdlon) * (clatt * sdlon) + (clatf * slatt - slatf * clatt * cdlon) * (clatf * slatt - slatf * clatt * cdlon);
        sdist = Math.sqrt(Math.abs(temp));
        if ((Math.abs(sdist) > 1e-7) || (Math.abs(cdist) > 1e-7))
            gcdist = Math.atan2(sdist, cdist);
        else
            gcdist = 0;
        sbrg = sdlon * clatt;
        cbrg = (clatf * slatt - slatf * clatt * cdlon);
        if ((Math.abs(sbrg) > 1e-7) || (Math.abs(cbrg) > 1e-7)) {
            temp = Math.atan2(sbrg, cbrg);
            while (temp < 0) {
                temp = temp + 2 * PI;
                gcbrg = temp;
            }
        } else
            gcbrg = 0;
        hor = gcdist * rearth;
        xx = hor * Math.sin(temp);
        yy = hor * Math.cos(temp);
        return [xx, yy];
    }

讲真啊  我连两个参数哪个是东京,哪个是北纬我都忘了

lat应该是北纬,lon那就是东经了

然后返回值也是第一个是北纬 ,第二个是东经。

这个项目还用了用百度地图,不过也就是打开地图,定位下而已

比如这样

   var map;
    function loadJScript() {
        var script = document.createElement("script");
        script.type = "text/javascript";
        script.src = "http://api.map.baidu.com/api?v=2.0&ak=×××××××××××××××&callback=init";
        document.body.appendChild(script);
    }
    function init() {
        map = new BMap.Map("allmap");// 创建Map实例
        //var point = new BMap.Point(121.446235, 31.169152); // 创建点坐标
        map.centerAndZoom("上海", 17);
        map.enableScrollWheelZoom(true);
    }
    window.onload = loadJScript;

  function showmap(a, b) {
        map.clearOverlays();
        var new_point = new BMap.Point(a, b);
        var marker = new BMap.Marker(new_point);  // 创建标注
        map.addOverlay(marker);              // 将标注添加到地图中
        //map.panTo(new_point);
        setTimeout(function () {
            map.panTo(new_point);
        }, 200);
    }

  

原文地址:https://www.cnblogs.com/suzu/p/5776000.html