Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
hdastageeri
hft_awado_app
Commits
aa257fec
Commit
aa257fec
authored
Dec 08, 2019
by
Ratnadeep Rajendra Kharade
Browse files
Created a common service for user location
parent
7b946fe5
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/app/services/location.service.spec.ts
0 → 100644
View file @
aa257fec
import
{
TestBed
}
from
'
@angular/core/testing
'
;
import
{
LocationService
}
from
'
./location.service
'
;
describe
(
'
LocationService
'
,
()
=>
{
beforeEach
(()
=>
TestBed
.
configureTestingModule
({}));
it
(
'
should be created
'
,
()
=>
{
const
service
:
LocationService
=
TestBed
.
get
(
LocationService
);
expect
(
service
).
toBeTruthy
();
});
});
src/app/services/location.service.ts
0 → 100644
View file @
aa257fec
import
{
Injectable
}
from
'
@angular/core
'
;
import
{
Geolocation
}
from
'
@ionic-native/geolocation/ngx
'
;
import
{
Subject
}
from
'
rxjs
'
;
@
Injectable
({
providedIn
:
'
root
'
})
export
class
LocationService
{
public
preiousUserPosition
=
{
lat
:
48.783480
,
lng
:
9.180319
};
public
currentUserPosition
=
{
lat
:
48.783480
,
lng
:
9.180319
};
liveLocationSubject
=
new
Subject
<
any
>
();
//Decalring new RxJs Subject
constructor
(
private
geolocation
:
Geolocation
)
{
let
watch
=
this
.
geolocation
.
watchPosition
({
enableHighAccuracy
:
true
,
maximumAge
:
10000
});
watch
.
subscribe
((
position
)
=>
{
console
.
log
(
'
IN WATCHER
'
)
console
.
log
(
'
lat
'
+
position
.
coords
.
latitude
);
console
.
log
(
'
lng
'
+
position
.
coords
.
longitude
);
this
.
currentUserPosition
.
lat
=
position
.
coords
.
latitude
;
this
.
currentUserPosition
.
lng
=
position
.
coords
.
longitude
;
this
.
preiousUserPosition
.
lat
=
position
.
coords
.
latitude
;
this
.
preiousUserPosition
.
lng
=
position
.
coords
.
longitude
;
this
.
getUserLiveLocation
(
this
.
currentUserPosition
);
},
(
errorObj
)
=>
{
console
.
log
(
'
error getting live location, setting to previous location
'
);
this
.
getUserLiveLocation
(
this
.
preiousUserPosition
);
});
}
getUserLocation
():
Promise
<
any
>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
geolocation
.
getCurrentPosition
().
then
((
resp
)
=>
{
let
lat
=
resp
.
coords
.
latitude
;
let
lng
=
resp
.
coords
.
longitude
;
this
.
currentUserPosition
.
lat
=
resp
.
coords
.
latitude
;
this
.
currentUserPosition
.
lng
=
resp
.
coords
.
longitude
;
this
.
preiousUserPosition
.
lat
=
resp
.
coords
.
latitude
;
this
.
preiousUserPosition
.
lng
=
resp
.
coords
.
longitude
;
resolve
(
this
.
currentUserPosition
);
},
er
=>
{
console
.
log
(
'
error getting location setting to previous location
'
);
resolve
(
this
.
preiousUserPosition
);
}).
catch
((
error
)
=>
{
console
.
log
(
'
error getting location setting to previous location
'
);
resolve
(
this
.
preiousUserPosition
);
});
});
}
getUserLiveLocation
(
location
)
{
this
.
liveLocationSubject
.
next
(
location
);
}
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment