【发布时间】:2019-01-21 13:16:46
【问题描述】:
我正在研究 nativescript ,但其中严重缺乏库。我无法找到北方向。 我试过插件
import * as geolocation from "nativescript-geolocation";
import { Accuracy } from "tns-core-modules/ui/enums";
test:function() {
var a = geolocation.getCurrentLocation({ desiredAccuracy: Accuracy.high, maximumAge: 5000, timeout: 20000 })
;
a.then( return_a => {
console.log("this------------------------------->",return_a);
//distance(return_a,);
var degree = angleFromCoordinate(return_a.latitude,return_a.longitude , 21.4225,39.8262);
console.log(degree);
this.gaugeValue = degree;//return_a.verticalAccuracy
});
}
});
function angleFromCoordinate( lat1, long1, lat2, long2) {
var dLon = (long2 - long1);
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 = Math.atan2(y, x);
brng = brng * 180 / Math.PI;
brng = (brng + 360) % 360;
brng = 360 - brng; // count degrees counter-clockwise - remove to make clockwise
return brng;
}
也有方向属性可用。但它始终是 -1 。 我使用 Typescript , javascript 作为模板语言。
【问题讨论】:
-
nativescript-geolocation 插件的目的是单独处理位置服务,我不认为它实现了检测航向所需的 api。此外,没有现成的插件可用于完成此功能,您必须编写一个或直接访问本机 api。
-
首先您需要验证用户将拥有一个带有实际硬件传感器的设备(与 NativeScript 无关),然后才能访问和使用原生 Android API 来检测地理方向(更多这里stackoverflow.com/questions/8315913/…)
标签: nativescript