This extension adds basic geolocation support (using navigator.geolocation). The geolocation data is available in in a Vuex like structure.
https://github.com/tomers/quasar-geolocation-example
quasar ext add geolocation
Quasar CLI will retrieve it from NPM and install the extension.
Install optional vue2-google-maps package
Allow automatic installation of vue2-google-maps package, pre-configured with a boot file, so that its components (e.g. GmapMap) are ready to be used.
quasar ext remove geolocation
Detail of Vuex-like actions and getters
<template>
<div v-if="hasPosition">
Speed is {{ speed }}
</div>
</template>
<script>
import { mapGeolocationActions, mapGeolocationGetters } from 'quasar-app-extension-geolocation/src/store'
export default {
computed: {
...mapGeolocationGetters([
'hasPosition',
'speed'
])
},
created () {
this.samplePosition()
},
methods: {
...mapGeolocationActions([
'samplePosition',
])
}
}
</script>
queryPermission
: query for geolocation permissionsamplePosition
: query for current geolocation
isPermissionKnown
: whether permission has been acquired (by actionqueryPermission
)isPermissionGranted
isPermissionPrompt
isPermissionDenied
The geolocation is given in an GeolocationPosition struct that is converted to an object. Getters are provided for each of its fields.
hasPosition
: whether a position has been acquired (by actionsamplePosition
)timestamp
: GeolocationPosition.timestamp of the samplecoords
: GeolocationCoordinates (converted to object). Alternatively, there is a getter for each of the coord fields:latitude
longitude
altitude
accuracy
altitudeAccuracy
heading
speed
If you appreciate the work that went into this App Extension, please consider donating to Quasar.