如何在Google地图中获取矩形的四个角点的坐标?

时间:2018-08-27 15:04:18

标签: javascript google-maps

说,这是中心点的坐标:

var initLat = 10.398671; 
var initLng = -84.170756;

现在,我想在Google地图上绘制一个矩形。为了实现这一点,我需要知道矩形的其他四个点的坐标。

以下是我为矩形的四个角点计算坐标的尝试。

  function getCoordinatesByDistance(meters) {
                var coords = [{lat: 10.398671, lng: -84.170756}];
                var initLat =coords[0]['lat'];
                var initLng = coords[0]['lng'];
                var earth = 6378.137;  //radius of the earth in kilometer

                coords.push(getCoordinate(initLat, initLng, 45, meters, earth));
                coords.push(getCoordinate(initLat, initLng, 135, meters, earth));
                coords.push(getCoordinate(initLat, initLng, 225, meters, earth));
                coords.push(getCoordinate(initLat, initLng, 315, meters, earth));

                return coords;
            }

            function getCoordinate(initLat, initLng,deg, meters, earth) {
                var m = (1 / ((2 * Math.PI / deg) * earth)) / 1000;  //1 meter in degree
                return {
                    lat: initLat + meters * m,
                    lng: initLng + (meters * m) / Math.cos(initLat * (Math.PI / 180)), 
                } 
            }

但是上述函数返回的坐标在Google地图中的形状是直线而不是矩形。有什么建议可以获取要点以矩形的形状吗?

0 个答案:

没有答案