Javascript Lat/Lng地图上的圆半径

Javascript Lat/Lng地图上的圆半径,javascript,maps,latitude-longitude,Javascript,Maps,Latitude Longitude,我正试着在云图上画一个圆圈。圆心以Lat/Lng表示,半径以米表示。下面是我使用的JavaScript,但是一些测试似乎表明我使用的半径转换给了我一个过短的半径。有人知道我做错了什么吗 function DrawCircle (center, radius) { var circlePoints = Array(); with (Math) { var d = radius/6371000; // radians var lat1 = (

我正试着在云图上画一个圆圈。圆心以Lat/Lng表示,半径以米表示。下面是我使用的JavaScript,但是一些测试似乎表明我使用的半径转换给了我一个过短的半径。有人知道我做错了什么吗

function DrawCircle (center, radius)
{
    var circlePoints = Array();

    with (Math)
    {
        var d = radius/6371000; // radians
        var lat1 = (PI/180) * center.lat(); // radians
        var lng1 = (PI/180) * center.lng(); // radians

        for (var a = 0; a <= 360; a++)
        {
            var tc = (PI/180) * a;
            var y = asin(sin(lat1) * cos(d) + cos(lat1) * sin(d) * cos(tc));
            var dlng = atan2(sin(tc) * sin(d) * cos(lat1), cos(d) - sin(lat1) * sin(y));
            var x = ((lng1 - dlng + PI) % (2 * PI)) - PI ; // MOD function
            var point = new CM.LatLng(parseFloat(y * (180/PI)), parseFloat(x * (180/PI)));
            circlePoints.push(point);
        }

        circle = new CM.Polygon(circlePoints, circleBorderColor, circleBorderWidth, circleBorderOpacity, circleFillColor, circleFillOpacity);
        map.addOverlay(circle);
    }
}
函数绘图圆(中心、半径)
{
var circlePoints=Array();
(数学)
{
var d=半径/6371000;//弧度
var lat1=(PI/180)*center.lat();//弧度
var lng1=(PI/180)*center.lng();//弧度

对于(var a=0;a我仔细检查了一下,发现这个函数完全正确,错的是另一个函数,我正在与它比较结果。很抱歉打扰了大家:)我仔细检查了一下,发现这个函数是完全正确的,错的是另一个函数,我正在和它比较结果。很抱歉打扰了大家:)