Map.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <template>
  2. <LayoutContainer>
  3. <h4>
  4. <span class="line" /> Contactez-nous
  5. </h4>
  6. <v-row>
  7. <v-col cols="6">
  8. <div class="map-container">
  9. <l-map
  10. ref="map"
  11. :zoom="15"
  12. :center="location"
  13. :options="{scrollWheelZoom: false}"
  14. >
  15. <l-tile-layer
  16. url="https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png"
  17. layer-type="base"
  18. name="OpenStreetMap"
  19. attribution='&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors &copy; <a href="https://carto.com/attributions">CARTO</a>'
  20. />
  21. <l-marker
  22. :icon="icon"
  23. :lat-lng="location"
  24. >
  25. <l-popup>
  26. <v-row>
  27. <v-col cols="4" class="d-flex align-center">
  28. <v-img src="/images/Opentalent_Griffe.png"/>
  29. </v-col>
  30. <v-col cols="8">
  31. <div>
  32. OPENTALENT
  33. </div>
  34. <div>
  35. 217, rue Raoul Follereau
  36. </div>
  37. <div>
  38. 74300 - Cluses
  39. </div>
  40. </v-col>
  41. </v-row>
  42. </l-popup>
  43. </l-marker>
  44. </l-map>
  45. </div>
  46. </v-col>
  47. <v-col class="infos">
  48. <div class="name mb-8">
  49. Opentalent
  50. </div>
  51. <div class="d-flex flex-row align-center mb-8">
  52. <v-icon icon="fa fa-map-marker-alt" />
  53. <span>
  54. 217 rue Raoul Follereau<br/>
  55. 74300 CLUSES
  56. </span>
  57. </div>
  58. <div class="d-flex flex-row mb-4">
  59. <v-icon icon="fa fa-phone" />
  60. 09.72.12.60.17
  61. </div>
  62. <div class="d-flex flex-row mb-4">
  63. <v-icon icon="far fa-envelope" />
  64. contact@opentalent.fr
  65. </div>
  66. </v-col>
  67. </v-row>
  68. </LayoutContainer>
  69. </template>
  70. <script setup lang="ts">
  71. import 'leaflet/dist/leaflet.css'
  72. import { LMap, LTileLayer, LMarker, LIcon } from '@vue-leaflet/vue-leaflet'
  73. import L from 'leaflet';
  74. const location = [46.075245, 6.570162]
  75. const icon = L.icon({
  76. iconUrl: '/images/Opentalent_Griffe.png',
  77. iconSize: [60, 60],
  78. iconAnchor: [22, 94],
  79. popupAnchor: [5, -100],
  80. })
  81. </script>
  82. <style scoped lang="scss">
  83. h4 {
  84. display: flex;
  85. flex-direction: row;
  86. font-size: 40px;
  87. line-height: 95px;
  88. align-items: center;
  89. font-weight: 100;
  90. margin: 0 auto 1rem auto;
  91. max-width: 1400px;
  92. .line {
  93. display: block;
  94. height: 1px;
  95. width: 64px;
  96. min-width: 64px;
  97. border-top: solid 1px var(--on-neutral-color);
  98. margin-right: 18px;
  99. }
  100. }
  101. .map-container {
  102. height: 500px;
  103. width: 100%;
  104. margin-left: auto;
  105. margin-right: auto;
  106. }
  107. .infos {
  108. padding: 48px 36px;
  109. font-size: 21px;
  110. font-weight: 300;
  111. .name {
  112. font-size: 36px;
  113. text-transform: uppercase;
  114. font-weight: 600;
  115. }
  116. .v-icon {
  117. margin-right: 16px;
  118. opacity: 0.6;
  119. }
  120. }
  121. </style>