1.1.3 • Published 3 years ago

vue-simple-maps v1.1.3

Weekly downloads
10
License
MIT
Repository
github
Last release
3 years ago

vue-simple-maps

vue-simple-maps is library to easily build SVG maps with Vue, d3 and TopoJSON-client.

docs | examples

Features

  • Responsive out of the box
  • Customize map with any svg objects
  • Zoom and drag on all devices
  • Automatic transform lightweight TopoJSON to functional GeoJSON

Installation

npm

npm install vue-simple-maps

yarn

yarn add vue-simple-maps

CDN

<html>
  <head>
    <script src="https://cdn.jsdelivr.net/npm/vue@latest/dist/vue.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/vue-simple-maps@latest/dist/vue-simple-maps.min.js"></script>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vue-simple-maps@latest/dist/vue-simple-maps.css"></script>
  </head>
</html>

Usage

  1. Install vue plugin
import Vue from 'vue';
import VueSimpleMaps from 'vue-simple-maps';
import 'vue-simple-maps/dist/vue-simple-maps.css';
Vue.use(VueSimpleMaps);

Nuxt.js \ Put previouse 👆 code into ~/plugins/vue-simple-maps.js

// nuxt.config.js
plugins: ['~/plugins/vue-simple-maps.js'];
  1. Create component
<template>
  <map v-if="mapData" :data="mapData" :projection="projection">
    <MapFeatures />
  </map>
</template>

<script>
  import { geoEqualEarth } from 'd3-geo';

  export default {
    data: () => ({
      mapData: undefined,
      projection: geoEqualEarth,
    }),
    mounted() {
      // fetch topojson map
      fetch(
        'https://raw.githubusercontent.com/deldersveld/topojson/master/world-countries.json'
      )
        .then((r) => r.json())
        .then((d) => (this.mapData = d));
    },
  };
</script>

Viola

See more examples or learn API

License

MIT licensed. Copyright © 2020 Georgiy Bukharov. See LICENSE for more details.

Inspired with

react-simple-maps

1.1.3

3 years ago

1.1.1

3 years ago

1.1.2

3 years ago

0.1.0

4 years ago

1.1.0

3 years ago

1.0.0

3 years ago

0.0.0-beta.1

4 years ago

0.0.0-beta.0

4 years ago