All Projects → vue-leaflet → Vue Leaflet

vue-leaflet / Vue Leaflet

vue-leaflet compatible with vue3

Projects that are alternatives of or similar to Vue Leaflet

Mapstore2
Modern webmapping with OpenLayers, Leaflet and React
Stars: ✭ 251 (+206.1%)
Mutual labels:  hacktoberfest, leaflet
Noredink Ui
UI widgets we use -- https://noredink-ui.netlify.com/
Stars: ✭ 81 (-1.22%)
Mutual labels:  hacktoberfest
Greenswitch
Battle proven FreeSWITCH Event Socket Protocol client implementation with Gevent
Stars: ✭ 80 (-2.44%)
Mutual labels:  hacktoberfest
Commudle Ng
World's first community management platform. And it's free!
Stars: ✭ 81 (-1.22%)
Mutual labels:  hacktoberfest
Udoit
The Universal Design Online content Inspection Tool, or UDOIT (pronounced, “You Do It”) enables faculty to identify accessibility issues in Canvas by Instructure. It will scan a course, generate a report, and provide resources on how to address common accessibility issues.
Stars: ✭ 80 (-2.44%)
Mutual labels:  hacktoberfest
Cookietemple
A collection of best practice cookiecutter templates for all domains and languages with extensive Github support
Stars: ✭ 81 (-1.22%)
Mutual labels:  hacktoberfest
Betaflight Esc
Open source ESC firmware.
Stars: ✭ 80 (-2.44%)
Mutual labels:  hacktoberfest
Passwd
A beautiful, cross-platform, encrypted password manager 🔐
Stars: ✭ 82 (+0%)
Mutual labels:  hacktoberfest
Xrandr Extend
💻➡️ Extend a HIDPI screen to a normal DPI external display
Stars: ✭ 81 (-1.22%)
Mutual labels:  hacktoberfest
Kde
[MIRROR] KDE team's testing overlay
Stars: ✭ 80 (-2.44%)
Mutual labels:  hacktoberfest
Quizzity
A fast-paced geography quiz
Stars: ✭ 80 (-2.44%)
Mutual labels:  leaflet
Vpk
📦 Open, Search, Extract and Create VPKs in python
Stars: ✭ 79 (-3.66%)
Mutual labels:  hacktoberfest
Flutter web auth
Flutter plugin for authenticating a user with a web service
Stars: ✭ 81 (-1.22%)
Mutual labels:  hacktoberfest
Jpeg Decoder
JPEG decoder written in Rust
Stars: ✭ 80 (-2.44%)
Mutual labels:  hacktoberfest
Snackbar
toast-like alert pattern for Android inspired by the Google Material Design Spec
Stars: ✭ 1,234 (+1404.88%)
Mutual labels:  hacktoberfest
Bootstrap Form Builder
🔖 A drag-and-drop form builder for Bootstrap 4.
Stars: ✭ 79 (-3.66%)
Mutual labels:  hacktoberfest
Windows exporter
Prometheus exporter for Windows machines
Stars: ✭ 1,230 (+1400%)
Mutual labels:  hacktoberfest
Ign Gazebo
Open source robotics simulator. Through Ignition Gazebo users have access to high fidelity physics, rendering, and sensor models. Additionally, users and developers have multiple points of entry to simulation including a graphical user interface, plugins, and asynchronous message passing and services. Ignition Gazebo is derived from Gazebo, and represents over 16 years of development and experience in robotics and simulation. This library is part of the Ignition Robotics project.
Stars: ✭ 81 (-1.22%)
Mutual labels:  hacktoberfest
React Builder
⚙ A GUI tool to build your react app in the fastest way with all components and pages with routing.
Stars: ✭ 82 (+0%)
Mutual labels:  hacktoberfest
Rust Onig
Rust bindings for the Oniguruma regex library
Stars: ✭ 81 (-1.22%)
Mutual labels:  hacktoberfest

vue-leaflet

Vue-leaflet, written and compatible with Vue 3!

This is a Beta version! And may yet be instable! If you want to help, please reach out in an issue or on discord.

What Works:

  • LCircle
  • LCircleMarker
  • LControl
  • LControlAttribution
  • LControlLayers
  • LControlScale
  • LControlZoom
  • LFeatureGroup
  • LGeoJson
  • LIcon
  • LImageOverlay
  • LMap
  • LMarker
  • LPolygon
  • LPolyline
  • LPopup
  • LRectangle
  • LTileLayer
  • LTooltip
  • LWmsTileLayer

Note that unlike the Vue 2 version, this library is fully compatible with SSR.

Installation

yarn add @vue-leaflet/vue-leaflet

or

npm i -D @vue-leaflet/vue-leaflet

Usage

Until the complete documentation is ready, please check the demo project for example usage.

Working with Leaflet

N.B. Using import L from "leaflet" or import { ... } from "leaflet" can lead to unexpected errors.

To provide server-side rendering and tree-shaking capabilities, vue-leaflet uses async imports from the Leaflet ESM. This can lead to issues when importing additional methods from Leaflet, because the two instances of the Leaflet classes are technically no longer the same. See Issue 48 for more.

To avoid these issues, import any Leaflet methods asynchronously in response to the LMap component's @ready event:

<template>
  <l-map>
    <l-geo-json :geojson="geojson" :options="geojsonOptions" />
  </l-map>
</template>

<script>
// DON'T load Leaflet components here!
import { LMap, LGeoJson } from "./../../components";

export default {
  components: {
    LMap,
    LGeoJson,
  },
  data() {
    return {
      geojson: {
        type: "FeatureCollection",
        features: [
          // ...
        ],
      },
      geojsonOptions: {
        // Options that don't rely on Leaflet methods.
      },
    };
  },
  async beforeMount() {
    // HERE is where to load Leaflet components!
    const { circleMarker } = await import("leaflet/dist/leaflet-src.esm");

    // And now the Leaflet circleMarker function can be used by the options:
    this.geojsonOptions.pointToLayer = (feature, latLng) =>
      circleMarker(latLng, { radius: 8 });
    this.mapIsReady = true;
  },
};
</script>
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].