diff options
author | martin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2009-09-20 12:45:33 +0000 |
---|---|---|
committer | martin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2009-09-20 12:45:33 +0000 |
commit | 6ba2da7b4aca008221ff6fa3fafe47371ac9da59 (patch) | |
tree | 82dffc354b74c1c767e53ebe7d49964d70d1a357 /navit/vehicle/android/vehicle_android.c | |
parent | 08e15be1e9c78dedd0a4335c9bd0331e356fd22d (diff) | |
download | navit-6ba2da7b4aca008221ff6fa3fafe47371ac9da59.tar.gz |
Add:vehicle_android:Support for getting radius
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@2581 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit/vehicle/android/vehicle_android.c')
-rw-r--r-- | navit/vehicle/android/vehicle_android.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/navit/vehicle/android/vehicle_android.c b/navit/vehicle/android/vehicle_android.c index 228e1ee16..15f93a869 100644 --- a/navit/vehicle/android/vehicle_android.c +++ b/navit/vehicle/android/vehicle_android.c @@ -41,6 +41,7 @@ struct vehicle_priv { double speed; double direction; double height; + double radius; int fix_type; time_t fix_time; char fixiso8601[128]; @@ -52,7 +53,7 @@ struct vehicle_priv { jclass NavitVehicleClass; jobject NavitVehicle; jclass LocationClass; - jmethodID Location_getLatitude, Location_getLongitude, Location_getSpeed, Location_getBearing, Location_getAltitude, Location_getTime; + jmethodID Location_getLatitude, Location_getLongitude, Location_getSpeed, Location_getBearing, Location_getAltitude, Location_getTime, Location_getAccuracy; }; /** @@ -80,7 +81,6 @@ static int vehicle_android_position_attr_get(struct vehicle_priv *priv, enum attr_type type, struct attr *attr) { - struct attr * active=NULL; dbg(1,"enter %s\n",attr_to_name(type)); switch (type) { #if 0 @@ -97,6 +97,10 @@ vehicle_android_position_attr_get(struct vehicle_priv *priv, case attr_position_direction: attr->u.numd = &priv->direction; break; + case attr_position_radius: + attr->u.numd = &priv->radius; + break; + #if 0 case attr_position_qual: attr->u.num = priv->sats; @@ -138,6 +142,7 @@ vehicle_android_callback(struct vehicle_priv *v, jobject location) v->speed = (*jnienv)->CallFloatMethod(jnienv, location, v->Location_getSpeed)*3.6; v->direction = (*jnienv)->CallFloatMethod(jnienv, location, v->Location_getBearing); v->height = (*jnienv)->CallDoubleMethod(jnienv, location, v->Location_getAltitude); + v->radius = (*jnienv)->CallFloatMethod(jnienv, location, v->Location_getAccuracy); tnow=(*jnienv)->CallLongMethod(jnienv, location, v->Location_getTime)/1000; tm = gmtime(&tnow); strftime(v->fixiso8601, sizeof(v->fixiso8601), "%Y-%m-%dT%TZ", tm); @@ -165,6 +170,8 @@ vehicle_android_init(struct vehicle_priv *ret) return 0; if (!android_find_method(ret->LocationClass, "getTime", "()J", &ret->Location_getTime)) return 0; + if (!android_find_method(ret->LocationClass, "getAccuracy", "()F", &ret->Location_getAccuracy)) + return 0; if (!android_find_class_global("org/navitproject/navit/NavitVehicle", &ret->NavitVehicleClass)) return 0; dbg(0,"at 3\n"); |