0
다음 코드는 latitude
및 longitude
에 바인딩되어 있습니다. Geolocation Tracker에서 값을 업데이트하길 원합니다. 하지만 watch 위치는 this.latitude
및 this.longitude
이 표시되지 않습니다.Nativescript 각도 : 정의되지 않은 속성을 읽을 수 없습니다.
@Component({
selector: "my-app",
templateUrl: "app.component.html",
})
export class AppComponent {
latitude: number;
longitude: number;
watchId = 0;
constructor() {
this.latitude = 0;
this.longitude = 0;
}
public startTracking() {
/* Get Location */
this.watchId = geolocation.watchLocation(function (loc) {
if (loc) {
console.log("Current location is: " + loc.latitude + ", " + loc.longitude);
this.latitude = loc.latitude;
this.longitude = loc.longitude;
}
}, function (e) {
console.log("Error: " + e.message);
},
{desiredAccuracy: enums.Accuracy.any, updateDistance: 10, minimumUpdateTime: 1000});
}
public stopTracking() {
if (this.watchId) {
geolocation.clearWatch(this.watchId);
}
}
}
이것은 오류입니다 내가 얻을 : this
가 익명 함수에 보이지 않기 때문에
com.tns.NativeScriptException:
Calling js method onLocationChanged failed
TypeError: Cannot set property 'latitude' of undefined
File: "/data/data/org.nativescript.elektra/files/app/app.component.js, line: 44, column: 30
StackTrace:
Frame: function:'', file:'/data/data/org.nativescript.elektra/files/app/app.component.js', line: 44, column: 31
Frame: function:'android.location.LocationListener.onLocationChanged', file:'/data/data/org.nativescript.elektra/files/app/tns_modules/nativescript-geolocation/nativescript-geolocation.js', line: 25, column: 17
at com.tns.Runtime.callJSMethodNative(Native Method)
at com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:861)
at com.tns.Runtime.callJSMethodImpl(Runtime.java:726)
at com.tns.Runtime.callJSMethod(Runtime.java:712)
at com.tns.Runtime.callJSMethod(Runtime.java:693)
at com.tns.Runtime.callJSMethod(Runtime.java:683)
at com.tns.gen.android.location.LocationListener.onLocationChanged(LocationListener.java:11)
at android.location.LocationManager$ListenerTransport._handleMessage(LocationManager.java:255)
at android.location.LocationManager$ListenerTransport.access$000(LocationManager.java:184)
at android.location.LocationManager$ListenerTransport$1.handleMessage(LocationManager.java:200)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:5419)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
at dalvik.system.NativeStart.main(Native Method)