- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为移动设备开发“指南针”。我有以下几点:
point 1 (current location): Latitude = 47.2246, Longitude = 8.8257
point 2 (target location): Latitude = 50.9246, Longitude = 10.2257
我也有以下信息(来自我的Android手机):
The compass-direction in degree, which bears to the north.
For example, when I direct my phone to north, I get 0°
如何创建一个“罗盘式”箭头,向我显示该点的方向?
/**
* Params: lat1, long1 => Latitude and Longitude of current point
* lat2, long2 => Latitude and Longitude of target point
*
* headX => x-Value of built-in phone-compass
*
* Returns the degree of a direction from current point to target point
*
*/
function getDegrees(lat1, long1, lat2, long2, headX) {
var dLat = toRad(lat2-lat1);
var dLon = toRad(lon2-lon1);
lat1 = toRad(lat1);
lat2 = toRad(lat2);
var y = Math.sin(dLon) * Math.cos(lat2);
var x = Math.cos(lat1)*Math.sin(lat2) -
Math.sin(lat1)*Math.cos(lat2)*Math.cos(dLon);
var brng = toDeg(Math.atan2(y, x));
// fix negative degrees
if(brng<0) {
brng=360-Math.abs(brng);
}
return brng - headX;
}
最佳答案
忘了说我终于找到了答案。该应用程序将确定运输车辆及其目的地的指南针方向。本质上,是用于获取地球曲率,查找 Angular /罗盘读数,然后将该 Angular 与通用罗盘值进行匹配的奇特数学。当然,您可以只保持罗盘读数并将其作为图像旋转量。请注意,这是对到达终点(汽车站)的车辆方向的平均确定,这意味着它不知道道路在做什么(因此,这可能最适用于飞机或过山车 Derby )。
//example obj data containing lat and lng points
//stop location - the radii end point
endpoint.lat = 44.9631;
endpoint.lng = -93.2492;
//bus location from the southeast - the circle center
startpoint.lat = 44.95517;
startpoint.lng = -93.2427;
function vehicleBearing(endpoint, startpoint) {
endpoint.lat = x1;
endpoint.lng = y1;
startpoint.lat = x2;
startpoint.lng = y2;
var radians = getAtan2((y1 - y2), (x1 - x2));
function getAtan2(y, x) {
return Math.atan2(y, x);
};
var compassReading = radians * (180 / Math.PI);
var coordNames = ["N", "NE", "E", "SE", "S", "SW", "W", "NW", "N"];
var coordIndex = Math.round(compassReading / 45);
if (coordIndex < 0) {
coordIndex = coordIndex + 8
};
return coordNames[coordIndex]; // returns the coordinate value
}
关于math - 使用两个经度/纬度点获取方向(罗盘),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8502795/
我是 objective-c 的新手,所以如果我的问题太垃圾,我想道歉。 我正在编写一个指南针,但它正在运行(感谢教程)。给出了实际位置(经度和纬度)。我的指南针内的箭头是否可以向我显示特定位置(经度
我正在为移动设备开发“指南针”。我有以下几点: point 1 (current location): Latitude = 47.2246, Longitude = 8.8257 point 2 (
有没有办法在 SQL Server 2008R2 中知道一个点是否在另一点的南、东等? 例如,我有一个来源 point(lat1,lng1)我想知道在哪里point(lat2,lng2)位于该原点:北
我正在尝试在 Windows Phone 项目上使用 GART ( http://gart.codeplex.com/ ),它需要使用陀螺仪。 大多数时候我觉得陀螺仪没有校准并且显示错误的结果。 有没
在我的印象中,iOS 中 Google map 的指南针效果非常好。我说的是 map 中蓝色小“我的位置”点的罗盘箭头,请参阅 Google Maps SDK - My Location .在最近的1
我是一名优秀的程序员,十分优秀!