@eliaspourquoi/vue-map

https://github.com/nestarz/vue-map
          
  <map-composable
    :projection="projection"
    :projection-config="projectionConfig"
    :canvas="true"
  >
    <template v-slot:default="{path, projectionFunc}">
      <map-graticule fill="white" stroke="black" :stroke-width="5"></map-graticule>
      <map-sphere stroke="black" :stroke-width="2"></map-sphere>
      <map-geographies
        :geography="geoUrl"
        :path="path"
      >
        <template v-slot:default="{geographies}">
          <map-geography
            v-for="geo in geographies"
            :key="geo.rsmKey"
            :geography="geo"
            fill="white"
            stroke="black"
          ></geography>
        </template>
      </map-geographies>
      <map-line :from="[10, 1]" :to="[-100, 120]" stroke="red"></map-line>
      <map-annotation :subject="[0, 1]" :dx="-40" :dy="20">
        <text :x="-8">Annotation</text>
      </map-annotation>
      <map-marker :coordinates="[10,1]">
        <circle r="8" fill="black" />
      </map-marker>
    </template>
  </map-composable>