0.1.0 • Published 6 years ago
quasar-app-extension-geolocation v0.1.0
Quasar App Extension Geolocation
This extension adds basic geolocation support (using navigator.geolocation). The geolocation data is available in in a Vuex like structure.
Demo project
https://github.com/tomers/quasar-geolocation-example
Relevant documentation
Install
quasar ext add geolocationQuasar CLI will retrieve it from NPM and install the extension.
Prompts
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.
Uninstall
quasar ext remove geolocationInfo
Detail of Vuex-like actions and getters
Usage Example
<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>Store actions
queryPermission: query for geolocation permissionsamplePosition: query for current geolocation
Store getters
Permission status
isPermissionKnown: whether permission has been acquired (by actionqueryPermission)isPermissionGrantedisPermissionPromptisPermissionDenied
Position fields
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
Donate
If you appreciate the work that went into this App Extension, please consider donating to Quasar.