Jquery/JavaScript公式,添加x米/英里/公里到latlng坐标
Jquery/JavaScript Formula that adds x meters/miles/km to latlng coordinates
我正在寻找一个公式在jquery/javascript,我可以用它来获得新的坐标,如果我有一个现有的长坐标。我在谷歌地图上有几个标记,我想把它们分散到一个均匀的距离。
我所有的标记都有相同的长坐标。我正在查看Haversine公式,但是我没有看到任何公式可以从现有的对长坐标中给我新的坐标。
在一些关于
的研究中发现http://www.movable-type.co.uk/scripts/latlong.html
/**
* Returns the destination point from this point having travelled the given distance (in km) on the
* given initial bearing (bearing may vary before destination is reached)
*
* see http://williams.best.vwh.net/avform.htm#LL
*
* @param {Number} brng: Initial bearing in degrees
* @param {Number} dist: Distance in km
* @returns {LatLon} Destination point
*/
LatLon.prototype.destinationPoint = function(brng, dist) {
dist = typeof(dist)=='number' ? dist : typeof(dist)=='string' && dist.trim()!='' ? +dist : NaN;
dist = dist/this._radius; // convert dist to angular distance in radians
brng = brng.toRad(); //
var lat1 = this._lat.toRad(), lon1 = this._lon.toRad();
var lat2 = Math.asin( Math.sin(lat1)*Math.cos(dist) +
Math.cos(lat1)*Math.sin(dist)*Math.cos(brng) );
var lon2 = lon1 + Math.atan2(Math.sin(brng)*Math.sin(dist)*Math.cos(lat1),
Math.cos(dist)-Math.sin(lat1)*Math.sin(lat2));
lon2 = (lon2+3*Math.PI) % (2*Math.PI) - Math.PI; // normalise to -180..+180º
return new LatLon(lat2.toDeg(), lon2.toDeg());
}
相关文章:
- EaseJS拖放;放下(动画CC)电影剪辑的鼠标坐标
- 如何在d3.js中返回路径的y坐标
- 在谷歌地图上获取事件的x,y坐标
- 通过ajax将坐标传递到php服务器端,并在处理后检索到javascript
- 当带有渲染器的DOM元素不在屏幕顶部时,移动了场景的坐标
- 应用“;矢量“;指向传单中的Point或LatLng
- 如何在JS Leatflet绘图插件中获取圆的坐标
- 点击(右键点击)使用传单地图库获取图像覆盖的像素坐标
- 查找带有边框的HTML5 Canvas(点击)事件的坐标
- HTML5获取弧的坐标's结束
- 将谷歌地图 api latLng 坐标存储到 js 数组
- 获取基于百分比或基于像素的x&y坐标来自latlng
- 如何知道给定的latlng是否在geojson多边形坐标内
- 如何从(x, y)屏幕坐标转换为LatLng(谷歌地图)
- Jquery/JavaScript公式,添加x米/英里/公里到latlng坐标
- 在Google Maps API V3中使用LatLng坐标数组绘制折线
- 在谷歌地图上绘制来自Json数组的LatLng坐标-所有标记都堆叠在同一位置
- 我如何将一个点从[x,y]坐标投影到传单中的LatLng
- 转换DATUM WGS84坐标为谷歌地图v3 JS Latlng对象
- 查找 LatLng 坐标是否位于另外两个 LatLng 坐标之间