Commit ab806169 authored by Michael Underwood's avatar Michael Underwood
Browse files

Remove marker dependence on `L.latLng`

parent a35d3388
Loading
Loading
Loading
Loading
+4 −15
Original line number Diff line number Diff line
<script>
import { onMounted, ref, provide, inject } from "vue";
import {
  remapEvents,
  propsBinder,
  debounce,
  provideLeafletWrapper,
  updateLeafletWrapper,
} from "../utils.js";
import { remapEvents, propsBinder, debounce } from "../utils.js";
import { props, setup as markerSetup } from "../functions/marker";
import { render } from "../functions/layer";

@@ -22,7 +16,6 @@ export default {

    const addLayer = inject("addLayer");

    const latLng = provideLeafletWrapper("latLng");
    provide("canSetParentHtml", () => !!leafletRef.value.getElement());
    provide(
      "setParentHtml",
@@ -35,13 +28,9 @@ export default {
    const { options, methods } = markerSetup(props, leafletRef, context);

    onMounted(async () => {
      const {
        marker,
        DomEvent,
        latLng: leafletLatLng,
        setOptions,
      } = await import("leaflet/dist/leaflet-src.esm");
      updateLeafletWrapper(latLng, leafletLatLng);
      const { marker, DomEvent, setOptions } = await import(
        "leaflet/dist/leaflet-src.esm"
      );

      leafletRef.value = marker(props.latLng, options);

+2 −8
Original line number Diff line number Diff line
import { inject } from "vue";
import { props as layerProps, setup as layerSetup } from "../functions/layer";

export const props = {
@@ -38,7 +37,6 @@ export const setup = (props, leafletRef, context) => {
    ...layerOptions,
    ...props,
  };
  const latLng = inject("latLng");

  const methods = {
    ...layerMethods,
@@ -60,12 +58,8 @@ export const setup = (props, leafletRef, context) => {

      if (leafletRef.value) {
        const oldLatLng = leafletRef.value.getLatLng();
        const newLatLng = latLng(newVal);
        if (
          newLatLng.lat !== oldLatLng.lat ||
          newLatLng.lng !== oldLatLng.lng
        ) {
          leafletRef.value.setLatLng(newLatLng);
        if (!oldLatLng || !oldLatLng.equals(newVal)) {
          leafletRef.value.setLatLng(newVal);
        }
      }
    },