可能重复:
how to put two marker at a distance of 500m in google map
我想知道是否有人知道如何在500米处放置两个标记,假设我把第一个标记放在伦敦(50,0),第二个标记位于距离伦敦500米的某个位置(50,0) )。怎么会发生。我一直在寻找它,但无法找到任何答案。 任何建议将不胜感激
答案 0 :(得分:0)
θ is the bearing (in radians, clockwise from north);
d/R is the angular distance (in radians), where d is the distance travelled and R is the earth’s radius
src:http://www.movable-type.co.uk/scripts/latlong.html
var lat2 = Math.asin( Math.sin(lat1)*Math.cos(d/R) +
Math.cos(lat1)*Math.sin(d/R)*Math.cos(brng) );
var lon2 = lon1 + Math.atan2(Math.sin(brng)*Math.sin(d/R)*Math.cos(lat1),
Math.cos(d/R)-Math.sin(lat1)*Math.sin(lat2));
替代:
我在OpenLayers中的方式是将我的坐标重新投影到epsg:900913,即米,进行计算,然后转换回原始投影。这可以通过pro4.j库完成:http://trac.osgeo.org/proj/