UNPKG

vue-mapbox

Version:

> Combine powers of [Vue.js](https://vuejs.org/) and [Mapbox Gl JS](https://mapbox.com/mapbox-gl-js)

77 lines (68 loc) 1.76 kB
--- home: true heroImage: /logo.svg actionText: Get Started actionLink: /guide/ features: - title: Declarative style details: You can use map elements like layers, markers, popups as Vue components and control them via synchronized props - title: Vuefied details: Map elements declared as components respect Vue lifecycle, emit map events like Vue events and can be used in OOP-style - title: Promisified async actions details: You can do async map operations and get results in Promise without messing with map events and figuring out what action cause it footer: MIT Licensed --- If you like long story, check out [blog post](https://soal.red/reasoning-behind-vue-mapbox/) ```vue <template> <MglMap container="map-test" :center.sync="center" :accessToken="accessToken" :mapStyle="mapStyle" > <MglMarker :coordinates.sync="markerCoordinates" color='green' /> <MglGeojsonLayer type="fill" :sourceId="sourceId" :layerId="layerId" :source="geojson" @click="handleClick" /> </MglMap> </temaplate> <script> import { MglMap, MglMarker, MglGeojsonLayer } from 'vue-mapbox' export default { name: 'App', data() { return { accessToken: 'some_token', mapStyle: 'mapbox://map_style', geojson: { /* some geojson */} layerId: 'firstLayer', sourceId: 'firstSource', markerCoordinates='[50, 50]' } } } </script> ``` ::: tip Dependencies [Vue.js 2.5+](https://github.com/vuejs/vue) [Mapbox GL JS 0.51+](https://github.com/mapbox/mapbox-gl-js) [map-promisified](https://github.com/soal/map-promisified) ::: ::: tip Size ~ 15 kB minified and gzipped ::: ::: warning Browser compatibility _Coming soon_ :::