@heycar/heycars-map 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/.eslintrc.json +15 -0
  2. package/README.md +18 -0
  3. package/dist/App.d.ts +1 -0
  4. package/dist/api/driving.d.ts +12 -0
  5. package/dist/api/geocoder.d.ts +16 -0
  6. package/dist/api/geometry.d.ts +20 -0
  7. package/dist/api/place.d.ts +16 -0
  8. package/dist/business-components/AddressBox/AddressBox.css.d.ts +7 -0
  9. package/dist/business-components/AddressBox/AddressBox.d.ts +10 -0
  10. package/dist/business-components/AddressBox/index.d.ts +1 -0
  11. package/dist/business-components/AddressLocator/AddressLocator.css.d.ts +1 -0
  12. package/dist/business-components/AddressLocator/AddressLocator.d.ts +7 -0
  13. package/dist/business-components/AddressLocator/index.d.ts +1 -0
  14. package/dist/business-components/DrivingLine/DrivingLine.css.d.ts +1 -0
  15. package/dist/business-components/DrivingLine/DrivingLine.d.ts +6 -0
  16. package/dist/business-components/DrivingLine/index.d.ts +1 -0
  17. package/dist/business-components/PassengerCircle/PassengerCircle.css.d.ts +1 -0
  18. package/dist/business-components/PassengerCircle/PassengerCircle.d.ts +7 -0
  19. package/dist/business-components/PassengerCircle/index.d.ts +1 -0
  20. package/dist/business-components/PlaceCircle/PlaceCircle.css.d.ts +5 -0
  21. package/dist/business-components/PlaceCircle/PlaceCircle.d.ts +8 -0
  22. package/dist/business-components/PlaceCircle/index.d.ts +1 -0
  23. package/dist/business-components/StartEndPoint/StartEndPoint.css.d.ts +20 -0
  24. package/dist/business-components/StartEndPoint/StartEndPoint.d.ts +9 -0
  25. package/dist/business-components/StartEndPoint/index.d.ts +1 -0
  26. package/dist/business-components/TaxiCar/TaxiCar.css.d.ts +3 -0
  27. package/dist/business-components/TaxiCar/TaxiCar.d.ts +8 -0
  28. package/dist/business-components/TaxiCar/index.d.ts +1 -0
  29. package/dist/business-components/WalkingLine/WalkingLine.d.ts +6 -0
  30. package/dist/business-components/WalkingLine/index.d.ts +1 -0
  31. package/dist/business-components/WaveCircle/WaveCircle.css.d.ts +4 -0
  32. package/dist/business-components/WaveCircle/WaveCircle.d.ts +6 -0
  33. package/dist/business-components/WaveCircle/index.d.ts +1 -0
  34. package/dist/components/Amap/Amap.css.d.ts +1 -0
  35. package/dist/components/Amap/Amap.d.ts +7 -0
  36. package/dist/components/Amap/index.d.ts +1 -0
  37. package/dist/components/Amap/useAmap.d.ts +399 -0
  38. package/dist/components/AmapInfoWindow/AmapInfoWindow.d.ts +4 -0
  39. package/dist/components/AmapInfoWindow/index.d.ts +1 -0
  40. package/dist/components/AmapLoader/AmapLoader.d.ts +20 -0
  41. package/dist/components/AmapLoader/index.d.ts +1 -0
  42. package/dist/components/AmapMarker/AmapMarker.d.ts +2 -0
  43. package/dist/components/AmapMarker/index.d.ts +1 -0
  44. package/dist/components/AmapPolygon/AmapPolygon.d.ts +2 -0
  45. package/dist/components/AmapPolygon/index.d.ts +1 -0
  46. package/dist/components/AmapPolyline/AmapPolyline.d.ts +2 -0
  47. package/dist/components/AmapPolyline/index.d.ts +1 -0
  48. package/dist/components/AmapText/AmapText.d.ts +2 -0
  49. package/dist/components/AmapText/index.d.ts +1 -0
  50. package/dist/components/Demo/BusinessDemo.d.ts +2 -0
  51. package/dist/components/Demo/Demo.css.d.ts +1 -0
  52. package/dist/components/Demo/Demo.d.ts +2 -0
  53. package/dist/components/Demo/Hello.d.ts +17 -0
  54. package/dist/components/Demo/HeycarDemo.d.ts +1 -0
  55. package/dist/components/Demo/index.d.ts +1 -0
  56. package/dist/components/Gmap/Gmap.d.ts +5 -0
  57. package/dist/components/Gmap/index.d.ts +1 -0
  58. package/dist/components/Gmap/useGmap.d.ts +5 -0
  59. package/dist/components/GmapAdvancedMarkerView/GmapAdvancedMarkerView.d.ts +3 -0
  60. package/dist/components/GmapAdvancedMarkerView/index.d.ts +1 -0
  61. package/dist/components/GmapInfoWindow/GmapInfoWindow.d.ts +5 -0
  62. package/dist/components/GmapInfoWindow/index.d.ts +1 -0
  63. package/dist/components/GmapLoader/GmapLoader.d.ts +37 -0
  64. package/dist/components/GmapLoader/index.d.ts +1 -0
  65. package/dist/components/GmapMarker/GmapMarker.d.ts +3 -0
  66. package/dist/components/GmapMarker/index.d.ts +1 -0
  67. package/dist/components/GmapPolygon/GmapPolygon.d.ts +3 -0
  68. package/dist/components/GmapPolygon/index.d.ts +1 -0
  69. package/dist/components/GmapPolyline/GmapPolyline.d.ts +3 -0
  70. package/dist/components/GmapPolyline/index.d.ts +1 -0
  71. package/dist/components/MapProvider/MapProvider.d.ts +7 -0
  72. package/dist/components/MapProvider/index.d.ts +1 -0
  73. package/dist/components/MapProvider/useMapSupplier.d.ts +11 -0
  74. package/dist/index.cjs +70 -0
  75. package/dist/index.d.ts +14 -0
  76. package/dist/index.js +1498 -0
  77. package/dist/main.d.ts +1 -0
  78. package/dist/style.css +1 -0
  79. package/dist/types/amap/marker.d.ts +11 -0
  80. package/dist/types/helper.d.ts +30 -0
  81. package/dist/types/interface.d.ts +1 -0
  82. package/dist/utils/compare.d.ts +21 -0
  83. package/dist/utils/dom.d.ts +2 -0
  84. package/dist/utils/transform.d.ts +9 -0
  85. package/dist/vite.svg +1 -0
  86. package/esbuild.mjs +40 -0
  87. package/index.html +13 -0
  88. package/package.json +94 -0
  89. package/public/vite.svg +1 -0
  90. package/src/App.tsx +10 -0
  91. package/src/api/driving.ts +87 -0
  92. package/src/api/geocoder.ts +88 -0
  93. package/src/api/geometry.ts +44 -0
  94. package/src/api/place.ts +107 -0
  95. package/src/assets/icons/svg/address-locator.svg +1 -0
  96. package/src/assets/icons/svg/arrow-right.svg +1 -0
  97. package/src/assets/icons/svg/end-point.svg +1 -0
  98. package/src/assets/icons/svg/passenger-circle.svg +1 -0
  99. package/src/assets/icons/svg/place-circle.svg +22 -0
  100. package/src/assets/icons/svg/start-point.svg +1 -0
  101. package/src/assets/icons/svg/taxi-car.svg +1 -0
  102. package/src/assets/icons/svg/wave-circle.svg +1 -0
  103. package/src/business-components/AddressBox/AddressBox.css.ts +55 -0
  104. package/src/business-components/AddressBox/AddressBox.tsx +69 -0
  105. package/src/business-components/AddressBox/index.ts +1 -0
  106. package/src/business-components/AddressLocator/AddressLocator.css.ts +7 -0
  107. package/src/business-components/AddressLocator/AddressLocator.tsx +40 -0
  108. package/src/business-components/AddressLocator/index.ts +1 -0
  109. package/src/business-components/DrivingLine/DrivingLine.css.ts +10 -0
  110. package/src/business-components/DrivingLine/DrivingLine.tsx +124 -0
  111. package/src/business-components/DrivingLine/index.ts +1 -0
  112. package/src/business-components/PassengerCircle/PassengerCircle.css.ts +8 -0
  113. package/src/business-components/PassengerCircle/PassengerCircle.tsx +42 -0
  114. package/src/business-components/PassengerCircle/index.ts +1 -0
  115. package/src/business-components/PlaceCircle/PlaceCircle.css.ts +30 -0
  116. package/src/business-components/PlaceCircle/PlaceCircle.tsx +66 -0
  117. package/src/business-components/PlaceCircle/index.ts +1 -0
  118. package/src/business-components/StartEndPoint/StartEndPoint.css.ts +70 -0
  119. package/src/business-components/StartEndPoint/StartEndPoint.tsx +103 -0
  120. package/src/business-components/StartEndPoint/index.ts +1 -0
  121. package/src/business-components/TaxiCar/TaxiCar.css.ts +16 -0
  122. package/src/business-components/TaxiCar/TaxiCar.tsx +77 -0
  123. package/src/business-components/TaxiCar/index.ts +1 -0
  124. package/src/business-components/WalkingLine/WalkingLine.tsx +73 -0
  125. package/src/business-components/WalkingLine/index.ts +1 -0
  126. package/src/business-components/WaveCircle/WaveCircle.css.ts +54 -0
  127. package/src/business-components/WaveCircle/WaveCircle.tsx +56 -0
  128. package/src/business-components/WaveCircle/index.ts +1 -0
  129. package/src/components/Amap/Amap.css.ts +3 -0
  130. package/src/components/Amap/Amap.ts +58 -0
  131. package/src/components/Amap/index.ts +1 -0
  132. package/src/components/Amap/useAmap.ts +9 -0
  133. package/src/components/AmapInfoWindow/AmapInfoWindow.ts +45 -0
  134. package/src/components/AmapInfoWindow/index.ts +1 -0
  135. package/src/components/AmapLoader/AmapLoader.ts +68 -0
  136. package/src/components/AmapLoader/index.ts +1 -0
  137. package/src/components/AmapMarker/AmapMarker.ts +38 -0
  138. package/src/components/AmapMarker/index.ts +1 -0
  139. package/src/components/AmapPolygon/AmapPolygon.ts +41 -0
  140. package/src/components/AmapPolygon/index.ts +1 -0
  141. package/src/components/AmapPolyline/AmapPolyline.ts +40 -0
  142. package/src/components/AmapPolyline/index.ts +1 -0
  143. package/src/components/AmapText/AmapText.ts +39 -0
  144. package/src/components/AmapText/index.ts +1 -0
  145. package/src/components/Demo/BusinessDemo.tsx +117 -0
  146. package/src/components/Demo/Demo.css.ts +6 -0
  147. package/src/components/Demo/Demo.tsx +97 -0
  148. package/src/components/Demo/Hello.tsx +15 -0
  149. package/src/components/Demo/HeycarDemo.tsx +31 -0
  150. package/src/components/Demo/TemplateDemo.vue +11 -0
  151. package/src/components/Demo/index.ts +1 -0
  152. package/src/components/Gmap/Gmap.ts +34 -0
  153. package/src/components/Gmap/index.ts +1 -0
  154. package/src/components/Gmap/useGmap.ts +7 -0
  155. package/src/components/GmapAdvancedMarkerView/GmapAdvancedMarkerView.ts +48 -0
  156. package/src/components/GmapAdvancedMarkerView/index.ts +1 -0
  157. package/src/components/GmapInfoWindow/GmapInfoWindow.ts +38 -0
  158. package/src/components/GmapInfoWindow/index.ts +1 -0
  159. package/src/components/GmapLoader/GmapLoader.ts +79 -0
  160. package/src/components/GmapLoader/index.ts +1 -0
  161. package/src/components/GmapMarker/GmapMarker.ts +31 -0
  162. package/src/components/GmapMarker/index.ts +1 -0
  163. package/src/components/GmapPolygon/GmapPolygon.ts +29 -0
  164. package/src/components/GmapPolygon/index.ts +1 -0
  165. package/src/components/GmapPolyline/GmapPolyline.ts +29 -0
  166. package/src/components/GmapPolyline/index.ts +1 -0
  167. package/src/components/MapProvider/MapProvider.tsx +64 -0
  168. package/src/components/MapProvider/index.ts +1 -0
  169. package/src/components/MapProvider/useMapSupplier.ts +19 -0
  170. package/src/index.ts +14 -0
  171. package/src/main.ts +6 -0
  172. package/src/style.css +0 -0
  173. package/src/types/amap/autocomplete.d.ts +64 -0
  174. package/src/types/amap/driving.d.ts +168 -0
  175. package/src/types/amap/geocoder.d.ts +214 -0
  176. package/src/types/amap/marker.ts +11 -0
  177. package/src/types/amap/place.d.ts +114 -0
  178. package/src/types/amap/plugin.d.ts +27 -0
  179. package/src/types/amap/walking.d.ts +76 -0
  180. package/src/types/global.d.ts +10 -0
  181. package/src/types/helper.ts +139 -0
  182. package/src/types/interface.ts +1 -0
  183. package/src/utils/compare.ts +174 -0
  184. package/src/utils/dom.ts +14 -0
  185. package/src/utils/transform.ts +27 -0
  186. package/src/vite-env.d.ts +12 -0
  187. package/todo.md +1 -0
  188. package/tsconfig.json +25 -0
  189. package/tsconfig.node.json +9 -0
  190. package/vite.config.dev.ts +17 -0
  191. package/vite.config.ts +40 -0
@@ -0,0 +1 @@
1
+ <svg width="24" height="44" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path d="M34.087 10.96c0 2.369-.054 2.98-.782 3.704-.793.79-5.236.833-5.236.833l-4.116.192-9.896-.144s-7.79-.026-9.131-.026c-1.342 0-2.406-.847-2.406-.847C.14 12.932 0 11.09 0 11.09V5.86s.14-1.842 2.52-3.583c0 0 1.064-.846 2.406-.846 1.341 0 9.13-.026 9.13-.026l9.897-.144 4.116.192s4.484 0 5.236.833c.778.86.782 1.37.782 3.74v4.934z" id="prefix__b"/><path d="M0 1.493S5.7.18 8.719.05c3.02-.131 3.47.017 5.282.21.507.051 3.26.91 3.26.91l-7.303.3L0 1.494z" id="prefix__c"/><path d="M10.08 2.815C9.295 4.483 8.85 6.423 8.85 8.494c0 2.062.442 3.994 1.22 5.657l5.698-1.157a15.601 15.601 0 01-.667-4.552c0-1.659.204-3.065.659-4.505L10.08 2.815z" id="prefix__e"/><path d="M25.753 8.455c0 1.92-.22 3.364-.601 4.891l2.626.35c1.178-.005 2.132-2.335 2.132-5.215s-.954-5.21-2.132-5.21l-2.614.35c.372 1.513.589 2.94.589 4.834z" id="prefix__g"/><path d="M.064.015L.158.002C.188-.016.371.106.4.124c.188.126.321.244.43.76.054.252.207 1.465.198 1.496l-.633.833.119 3.17-.094.076L0 .137c0-.052.025-.1.064-.122z" id="prefix__i"/><path d="M.064 6.515l.094.013c.03.018.213-.104.242-.122.188-.126.321-.244.43-.76.054-.252.207-1.465.198-1.496l-.633-.833L.42 0v.07L0 6.394c0 .052.025.1.064.122z" id="prefix__k"/><linearGradient x1="125.264%" y1="49.626%" x2="0%" y2="50%" id="prefix__d"><stop stop-color="#FFF" stop-opacity=".5" offset="0%"/><stop stop-opacity=".5" offset="100%"/></linearGradient><linearGradient x1="22.712%" y1="73.133%" x2="68.62%" y2="66.194%" id="prefix__f"><stop stop-color="#FFF" stop-opacity=".5" offset="0%"/><stop stop-opacity=".5" offset="100%"/></linearGradient><linearGradient x1="128.768%" y1="50%" x2="0%" y2="50%" id="prefix__h"><stop stop-color="#FFF" stop-opacity=".5" offset="0%"/><stop stop-opacity=".5" offset="100%"/></linearGradient><linearGradient x1="100%" y1="100%" x2="28.4%" y2="100%" id="prefix__j"><stop stop-color="#FFBEBE" stop-opacity=".5" offset="0%"/><stop stop-color="#352222" stop-opacity=".5" offset="100%"/></linearGradient><linearGradient x1="100%" y1="100%" x2="28.4%" y2="100%" id="prefix__l"><stop stop-color="#FFBEBE" stop-opacity=".5" offset="0%"/><stop stop-color="#352222" stop-opacity=".5" offset="100%"/></linearGradient><filter x="-17.6%" y="-41.6%" width="135.2%" height="183.2%" filterUnits="objectBoundingBox" id="prefix__a"><feOffset in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"/><feColorMatrix values="0 0 0 0 0.0862745098 0 0 0 0 0.0862745098 0 0 0 0 0.0862745098 0 0 0 0.5 0" in="shadowBlurOuter1"/></filter></defs><g fill="none" fill-rule="evenodd"><path d="M0 0h24v44H0z"/><g fill-rule="nonzero"><g transform="matrix(0 1 1 0 3.498 4.642)"><use fill="#000" filter="url(#prefix__a)" xlink:href="#prefix__b"/><use fill="#DFECF2" xlink:href="#prefix__b"/></g><path d="M14.458 38.728c2.369 0 2.98-.053 3.704-.781.79-.794.834-5.237.834-5.237l.191-4.115-.144-9.896s-.026-7.79-.026-9.132c0-1.342-.846-2.405-.846-2.405-1.741-2.381-3.582-2.52-3.582-2.52H9.357s-1.841.139-3.582 2.52c0 0-.847 1.063-.847 2.405 0 1.342-.026 9.132-.026 9.132l-.144 9.896.192 4.115s0 4.484.833 5.237c.86.777 1.37.781 3.74.781h4.935z" fill="#EFF5F8"/><g transform="matrix(0 1 1 0 17.093 15.062)" opacity=".9"><use fill="#161616" xlink:href="#prefix__c"/><use fill="url(#prefix__d)" xlink:href="#prefix__c"/></g><path d="M5.826 14.53c1.806-.937 3.915-1.465 6.17-1.465 2.243 0 4.339.528 6.141 1.452l-1.278 6.489a15.375 15.375 0 00-4.915-.794c-1.793 0-3.324.254-4.873.794L5.826 14.53z" fill="#161616"/><g transform="matrix(0 1 1 0 3.498 4.642)"><use fill="#3C4242" xlink:href="#prefix__e"/><use fill="url(#prefix__f)" xlink:href="#prefix__e"/></g><g opacity=".9" transform="matrix(0 1 1 0 3.498 4.642)"><use fill="#161616" xlink:href="#prefix__g"/><use fill="url(#prefix__h)" xlink:href="#prefix__g"/></g><path d="M3.87 17.651l.876-.462a.313.313 0 00.17-.274v-.188l-1.317.695v.082c.004.127.152.209.27.147z" fill="#303435"/><path d="M3.564 17.45l1.082-.568c.1-.053.21-.09.327-.106a.108.108 0 00.096-.107v-.552c0-.09-.078-.164-.174-.164H4.85c-.11 0-.502.062-1 .528-.222.209-.353.638-.353.933 0 .033.035.053.066.037z" fill="#DFECF2"/><path d="M5.434 15.062s1.095 4.467 1.226 7.486c.131 3.02-.017 3.47-.21 5.282-.051.507-.937 3.813-.937 3.813L5.36 25.17l.074-10.11z" fill="#161616" opacity=".9"/><path d="M20.13 17.651l-.876-.462a.313.313 0 01-.17-.274v-.188l1.317.695v.082c-.004.127-.152.209-.27.147z" fill="#303435"/><path d="M20.436 17.45l-1.082-.568a.984.984 0 00-.327-.106.108.108 0 01-.096-.107v-.552c0-.09.078-.164.174-.164h.044c.11 0 .502.062 1 .528.222.209.353.638.353.933 0 .033-.035.053-.066.037z" fill="#DFECF2"/><path d="M9.296 38.524h5.375c2.252 0 2.806-.458 3.434-1.15-.104.287-.218.52-.344.659-.712.781-1.026 1.325-3.356 1.325H9.558c-2.33 0-2.544-.486-3.39-1.325-.149-.147-.276-.405-.389-.732.755.777 1.165 1.223 3.517 1.223z" fill="#95A4AD"/><path d="M8.881 37.922h6.052c1.911 0 2.736-.298 3.33-.781a3.075 3.075 0 01-.297.72c-.585.618-1.23 1.019-3.334 1.019H9.178c-1.48 0-2.2-.176-2.718-.504-.118-.11-.24-.237-.384-.384-.14-.147-.266-.405-.376-.74.59.433 1.38.67 3.181.67z" fill="#CBD8DE"/><path d="M11.818 38.037c1.65 0 3.115-.066 4.04-.164-.07.193-.152.344-.24.426-.035.037-.113.07-.148.098-.925.082-2.195.13-3.652.13a46.22 46.22 0 01-3.539-.118c-.04-.033-.126-.07-.17-.11-.096-.082-.179-.23-.253-.418.934.099 2.36.156 3.962.156z" fill="#F2FAFF"/><path d="M11.988 12.194c-2.203 0-4.285.446-6.109 1.227.787-6.961 3.5-7.18 3.5-7.18h5.192s3.125.319 3.5 7.172a15.493 15.493 0 00-6.083-1.22z" fill="#F9FDFF"/><g transform="matrix(0 1 1 0 5.834 37.517)"><use fill="#B92E4D" xlink:href="#prefix__i"/><use fill-opacity=".7" fill="url(#prefix__j)" xlink:href="#prefix__i"/></g><g transform="matrix(0 1 1 0 11.438 37.517)"><use fill="#B92E4D" xlink:href="#prefix__k"/><use fill-opacity=".7" fill="url(#prefix__l)" xlink:href="#prefix__k"/></g><path d="M18.41 36.274c-.038.25-.082.454-.13.642-.092.372-.419.655-.82.712-1.475.208-3.434.421-5.581.421-2.086 0-3.988-.204-5.446-.405a.975.975 0 01-.824-.708 8.903 8.903 0 01-.135-.642c1.522.25 3.826.41 6.405.41 2.648 0 5.009-.168 6.532-.43z" fill="#DFECF2"/><path d="M16.216 36.711c-.947.487-2.487.7-4.232.7-1.698 0-3.207-.196-4.159-.663-.44-.83-.663-2.643-.663-2.643l-.009-.184c.773.708 2.645 1.203 4.83 1.203 2.243 0 4.159-.524 4.892-1.26l-.013.241c0-.004-.218 1.764-.646 2.606zM7.447 23.93a20.12 20.12 0 00-.294-2.442v-.065c1.538-.32 3.167-.649 4.862-.649 1.675 0 3.294.326 4.816.637a22.673 22.673 0 00-.303 2.52c-.147 2.884.02 3.314.232 5.048.006.057.026.152.056.274-1.513.278-3 .54-4.912.54-1.847 0-3.289-.25-4.75-.511v-.008c.03-.131.055-.233.06-.29.218-1.744.38-2.173.233-5.053z" fill="#F2FAFF"/><path d="M12.067 19.716l-4.645.692c-.431-2.92-.832-4.36-1.202-4.324l-.21-1.297a11.732 11.732 0 016.026-1.673c.386 0-.137.05-1.569.147l1.6 6.455z" fill="#161616"/></g></g></svg>
@@ -0,0 +1 @@
1
+ <svg width="119" height="118" xmlns="http://www.w3.org/2000/svg"><defs><radialGradient cx="50%" cy="50%" fx="50%" fy="50%" r="50%" id="prefix__a"><stop stop-color="#FFF" offset="0%"/><stop stop-color="#4471FF" offset="100%"/></radialGradient></defs><circle cx="191.394" cy="238" r="59" transform="translate(-132 -179)" fill="url(#prefix__a)" fill-rule="evenodd" opacity=".2"/></svg>
@@ -0,0 +1,55 @@
1
+ import { style } from "@vanilla-extract/css";
2
+
3
+ export const addressBoxLayout = style({
4
+ display: "flex",
5
+ flexDirection: "column",
6
+ alignItems: "center",
7
+ marginBottom: "-1.6vw",
8
+ });
9
+
10
+ export const addressBox = style({
11
+ padding: "2.13vw 4.5vw 2.67vw 4.27vw",
12
+ display: "flex",
13
+ alignItems: "center",
14
+ background: "linear-gradient(90deg, #79AFFF 0%, #5C8DFF 32%, #507FFF 75%, #4471FF 100%)",
15
+ borderRadius: "3.2vw",
16
+ });
17
+
18
+ export const addressTitle = style({
19
+ fontSize: "3.47vw",
20
+ fontFamily: "PingFangSC-Semibold, PingFang SC",
21
+ fontWeight: 600,
22
+ color: "#FFFFFF",
23
+ lineHeight: "4.8vw",
24
+ whiteSpace: "nowrap",
25
+ });
26
+
27
+ export const addressDescription = style({
28
+ fontSize: "2.93vw",
29
+ fontFamily: "PingFangSC-Regular, PingFang SC",
30
+ fontWeight: 400,
31
+ color: "#EAFAF8",
32
+ lineHeight: "4.27vw",
33
+ whiteSpace: "nowrap",
34
+ opacity: 0.8,
35
+ });
36
+
37
+ export const arrowIcon = style({
38
+ marginLeft: "3.2vw",
39
+ width: "1.44vw",
40
+ height: "2.4vw",
41
+ });
42
+
43
+ export const verticalLine = style({
44
+ width: "0.8vw",
45
+ height: "4vw",
46
+ background: "#4C80FF",
47
+ borderRadius: "0vw 0vw 26.67vw 26.67vw",
48
+ zIndex: 1,
49
+ });
50
+
51
+ export const circleIcon = style({
52
+ marginTop: "-1.5vw",
53
+ width: "3.2vw",
54
+ height: "3.2vw",
55
+ });
@@ -0,0 +1,69 @@
1
+ import { computed } from "vue-demi";
2
+ import imgArrowRight from "../../assets/icons/svg/arrow-right.svg";
3
+ import imgPlaceCircle from "../../assets/icons/svg/place-circle.svg";
4
+ import { AmapMarker } from "../../components/AmapMarker";
5
+ import { GmapAdvancedMarkerView } from "../../components/GmapAdvancedMarkerView/GmapAdvancedMarkerView";
6
+ import { useMapSupplier } from "../../components/MapProvider/useMapSupplier";
7
+ import { createElement, defineSetup } from "../../types/helper";
8
+ import type { Point } from "../../types/interface";
9
+ import { createDom } from "../../utils/dom";
10
+ import { vec2lnglat } from "../../utils/transform";
11
+ import * as css from "./AddressBox.css";
12
+
13
+ interface AddressBoxProps {
14
+ position: Point;
15
+ title: string;
16
+ description?: string;
17
+ }
18
+ export const AAddressBox = defineSetup(function AAddressBox(props: AddressBoxProps) {
19
+ const contentRef = computed(
20
+ () => `
21
+ <div class="${css.addressBoxLayout}">
22
+ <div class="${css.addressBox}">
23
+ <div>
24
+ <div class="${css.addressTitle}">${props.title}</div>
25
+ <div class="${css.addressDescription}">${props.description ?? ""}</div>
26
+ </div>
27
+ <img class="${css.arrowIcon}" src="${imgArrowRight}" >
28
+ </div>
29
+ <div class="${css.verticalLine}"></div>
30
+ <img src="${imgPlaceCircle}" class="${css.circleIcon}">
31
+ </div>
32
+ `
33
+ );
34
+ return () => (
35
+ <AmapMarker position={props.position} content={contentRef.value} anchor={"bottom-center"} />
36
+ );
37
+ });
38
+
39
+ export const GAddressBox = defineSetup(function GAddressBox(props: AddressBoxProps) {
40
+ const contentRef = computed(() =>
41
+ createDom(
42
+ "div",
43
+ { class: css.addressBoxLayout },
44
+ `
45
+ <div class="${css.addressBox}">
46
+ <div>
47
+ <div class="${css.addressTitle}">${props.title}</div>
48
+ <div class="${css.addressDescription}">${props.description ?? ""}</div>
49
+ </div>
50
+ <img class="${css.arrowIcon}" src="${imgArrowRight}" >
51
+ </div>
52
+ <div class="${css.verticalLine}"></div>
53
+ <img src="${imgPlaceCircle}" class="${css.circleIcon}">
54
+ `
55
+ )
56
+ );
57
+ return () => {
58
+ return (
59
+ <GmapAdvancedMarkerView position={vec2lnglat(props.position)} content={contentRef.value} />
60
+ );
61
+ };
62
+ });
63
+
64
+ export const AddressBox = defineSetup(function AddressBox(props: AddressBoxProps) {
65
+ const payload = useMapSupplier();
66
+ return () => {
67
+ return createElement(payload.supplier === "gmap" ? GAddressBox : AAddressBox, { attrs: props });
68
+ };
69
+ });
@@ -0,0 +1 @@
1
+ export * from "./AddressBox";
@@ -0,0 +1,7 @@
1
+ import { style } from "@vanilla-extract/css";
2
+
3
+ export const addressLocator = style({
4
+ width: "7.1045vw",
5
+ height: "10.93vw",
6
+ display: "flex",
7
+ });
@@ -0,0 +1,40 @@
1
+ import { computed } from "vue-demi";
2
+ import imgAddressLocator from "../../assets/icons/svg/address-locator.svg";
3
+ import { AmapMarker } from "../../components/AmapMarker";
4
+ import { GmapAdvancedMarkerView } from "../../components/GmapAdvancedMarkerView";
5
+ import { useMapSupplier } from "../../components/MapProvider/useMapSupplier";
6
+ import { createElement, defineSetup } from "../../types/helper";
7
+ import { createDom } from "../../utils/dom";
8
+ import { vec2lnglat } from "../../utils/transform";
9
+ import * as css from "./AddressLocator.css";
10
+ interface AddressLocatorProps {
11
+ position: [number, number];
12
+ }
13
+ export const AAddressLocator = defineSetup(function AAddressLocator(props: AddressLocatorProps) {
14
+ const contentRef = computed(
15
+ () => `
16
+ <img src="${imgAddressLocator}" class="${css.addressLocator}">
17
+ `
18
+ );
19
+ return () => (
20
+ <AmapMarker position={props.position} content={contentRef.value} anchor={"bottom-center"} />
21
+ );
22
+ });
23
+
24
+ export const GAddressLocator = defineSetup(function GAddressLocator(props: AddressLocatorProps) {
25
+ const contentRef = computed(() =>
26
+ createDom("img", { class: css.addressLocator, src: imgAddressLocator })
27
+ );
28
+ return () => (
29
+ <GmapAdvancedMarkerView position={vec2lnglat(props.position)} content={contentRef.value} />
30
+ );
31
+ });
32
+
33
+ export const AddressLocator = defineSetup(function AddressLocator(props: AddressLocatorProps) {
34
+ const payload = useMapSupplier();
35
+ return () => {
36
+ return createElement(payload.supplier === "gmap" ? GAddressLocator : AAddressLocator, {
37
+ attrs: props,
38
+ });
39
+ };
40
+ });
@@ -0,0 +1 @@
1
+ export * from "./AddressLocator";
@@ -0,0 +1,10 @@
1
+ import { style } from "@vanilla-extract/css";
2
+
3
+ export const drivingPath = style({
4
+ strokeLinecap: "round",
5
+ strokeLinejoin: "round",
6
+ outlineWidth: "10px",
7
+ outlineStyle: "dashed",
8
+ outlineColor: "red",
9
+ outlineOffset: [2, 2],
10
+ });
@@ -0,0 +1,124 @@
1
+ import { computed } from "vue-demi";
2
+ import { AmapPolyline } from "../../components/AmapPolyline";
3
+ import { GmapPolyline } from "../../components/GmapPolyline";
4
+ import { useMapSupplier } from "../../components/MapProvider/useMapSupplier";
5
+ import { createElement, defineSetup } from "../../types/helper";
6
+ import { vec2lnglat } from "../../utils/transform";
7
+
8
+ export interface DrivingLineProps {
9
+ path: [number, number][];
10
+ }
11
+ export const ADrivingLine = defineSetup(function ADrivingLine(props: DrivingLineProps) {
12
+ return () => {
13
+ const vw = window.innerWidth * 0.01;
14
+ const strokeWidth = 2.5 * vw;
15
+ const borderWidth = 0.35 * vw;
16
+ const dirWidth = 0.6 * vw;
17
+ const outlineWidth = 1 * vw;
18
+ const dashLength = 0.75 * vw;
19
+ return (
20
+ <div>
21
+ <AmapPolyline
22
+ path={props.path}
23
+ strokeWeight={strokeWidth + 2 * borderWidth + 2 * outlineWidth}
24
+ strokeOpacity={1}
25
+ strokeColor={"#4175F1"}
26
+ lineJoin={"round"}
27
+ lineCap={"round"}
28
+ />
29
+ <AmapPolyline
30
+ path={props.path}
31
+ strokeWeight={strokeWidth + 2 * borderWidth}
32
+ strokeOpacity={1}
33
+ strokeColor={"#6C95F5"}
34
+ lineJoin={"round"}
35
+ lineCap={"round"}
36
+ strokeStyle={"dashed"}
37
+ strokeDasharray={[dashLength, dashLength * 0.5]}
38
+ />
39
+ <AmapPolyline
40
+ path={props.path}
41
+ strokeWeight={strokeWidth}
42
+ strokeOpacity={1}
43
+ strokeColor={"#487BF4"}
44
+ lineJoin={"round"}
45
+ lineCap={"round"}
46
+ />
47
+ <AmapPolyline
48
+ showDir
49
+ path={props.path}
50
+ strokeWeight={strokeWidth + 2 * dirWidth}
51
+ strokeOpacity={1}
52
+ strokeColor={"transparent"}
53
+ lineJoin={"round"}
54
+ lineCap={"round"}
55
+ />
56
+ </div>
57
+ );
58
+ };
59
+ });
60
+
61
+ export const GDrivingLine = defineSetup(function GDrivingLine(props: DrivingLineProps) {
62
+ const pathRef = computed(() => props.path.map(vec2lnglat));
63
+ return () => {
64
+ const vw = window.innerWidth * 0.01;
65
+ const repeat = 10 * vw;
66
+ const strokeWidth = 2.5 * vw;
67
+ const borderWidth = 0.35 * vw;
68
+ const dirStrokeWeight = 0.75 * vw;
69
+ const outlineWidth = 1 * vw;
70
+ return (
71
+ <div>
72
+ <GmapPolyline
73
+ path={pathRef.value}
74
+ strokeWeight={strokeWidth + 2 * borderWidth + 2 * outlineWidth}
75
+ strokeOpacity={1}
76
+ strokeColor={"#4175F1"}
77
+ />
78
+ <GmapPolyline
79
+ path={pathRef.value}
80
+ icons={[
81
+ {
82
+ icon: {
83
+ path: `M 0,-0.5 0,0.5`,
84
+ strokeWeight: strokeWidth + 2 * borderWidth,
85
+ strokeColor: "#6C95F5",
86
+ fillColor: "#6C95F5",
87
+ scale: 1,
88
+ },
89
+ repeat: `${strokeWidth}px`,
90
+ offset: `${strokeWidth / 2}px`,
91
+ },
92
+ ]}
93
+ />
94
+ <GmapPolyline
95
+ path={pathRef.value}
96
+ strokeWeight={strokeWidth}
97
+ strokeOpacity={1}
98
+ strokeColor={"#487BF4"}
99
+ icons={[
100
+ {
101
+ icon: {
102
+ path: google.maps.SymbolPath.FORWARD_OPEN_ARROW,
103
+ strokeColor: "white",
104
+ strokeWeight: dirStrokeWeight,
105
+ // todo: 3 maybe not responsive
106
+ scale: 3,
107
+ },
108
+ repeat: `${repeat}px`,
109
+ },
110
+ ]}
111
+ />
112
+ </div>
113
+ );
114
+ };
115
+ });
116
+
117
+ export const DrivingLine = defineSetup(function DrivingLine(props: DrivingLineProps) {
118
+ const payload = useMapSupplier();
119
+ return () => {
120
+ return createElement(payload.supplier === "gmap" ? GDrivingLine : ADrivingLine, {
121
+ attrs: props,
122
+ });
123
+ };
124
+ });
@@ -0,0 +1 @@
1
+ export * from "./DrivingLine";
@@ -0,0 +1,8 @@
1
+ import { style } from "@vanilla-extract/css";
2
+
3
+ export const passengerCircle = style({
4
+ display: "flex",
5
+ marginBottom: "-8.135vw",
6
+ width: "16.27vw",
7
+ height: "16.27vw",
8
+ });
@@ -0,0 +1,42 @@
1
+ import { computed } from "vue";
2
+ import imgPassengerCircle from "../../assets/icons/svg/passenger-circle.svg";
3
+ import { AmapMarker } from "../../components/AmapMarker";
4
+ import { GmapAdvancedMarkerView } from "../../components/GmapAdvancedMarkerView";
5
+ import { useMapSupplier } from "../../components/MapProvider/useMapSupplier";
6
+ import { createElement, defineSetup } from "../../types/helper";
7
+ import { createDom } from "../../utils/dom";
8
+ import { vec2lnglat } from "../../utils/transform";
9
+
10
+ import * as css from "./PassengerCircle.css";
11
+
12
+ interface PassengerCircleProps {
13
+ position: [number, number];
14
+ }
15
+ export const APassengerCircle = defineSetup(function APassengerCircle(props: PassengerCircleProps) {
16
+ const contentRef = computed(
17
+ () => `
18
+ <img src="${imgPassengerCircle}" class="${css.passengerCircle}">
19
+ `
20
+ );
21
+ return () => (
22
+ <AmapMarker position={props.position} content={contentRef.value} anchor={"bottom-center"} />
23
+ );
24
+ });
25
+
26
+ export const GPassengerCircle = defineSetup(function GPassengerCircle(props: PassengerCircleProps) {
27
+ const contentRef = computed(() =>
28
+ createDom("img", { class: css.passengerCircle, src: imgPassengerCircle })
29
+ );
30
+ return () => (
31
+ <GmapAdvancedMarkerView position={vec2lnglat(props.position)} content={contentRef.value} />
32
+ );
33
+ });
34
+
35
+ export const PassengerCircle = defineSetup(function PassengerCircle(props: PassengerCircleProps) {
36
+ const payload = useMapSupplier();
37
+ return () => {
38
+ return createElement(payload.supplier === "gmap" ? GPassengerCircle : APassengerCircle, {
39
+ attrs: props,
40
+ });
41
+ };
42
+ });
@@ -0,0 +1 @@
1
+ export * from "./PassengerCircle";
@@ -0,0 +1,30 @@
1
+ import { style } from "@vanilla-extract/css";
2
+
3
+ export const placeCircleLayout = style({
4
+ display: "flex",
5
+ alignItems: "center",
6
+ });
7
+
8
+ export const amapPlaceIconLayout = style({
9
+ marginLeft: "-2.265vw",
10
+ });
11
+
12
+ export const gmapPlaceIconLayout = style({
13
+ marginBottom: "-2.265vw",
14
+ marginLeft: "calc(50% - 2.265vw)",
15
+ });
16
+
17
+ export const placeIcon = style({
18
+ display: "flex",
19
+ width: "4.53vw",
20
+ height: "4.53vw",
21
+ });
22
+
23
+ export const label = style({
24
+ fontSize: "3.47vw",
25
+ fontFamily: "PingFangSC-Semibold, PingFang SC",
26
+ fontWeight: 600,
27
+ color: "#243E66",
28
+ lineHeight: "4.53vw",
29
+ whiteSpace: "nowrap",
30
+ });
@@ -0,0 +1,66 @@
1
+ import { computed } from "vue-demi";
2
+ import imgPlaceCircle from "../../assets/icons/svg/place-circle.svg";
3
+ import { AmapMarker } from "../../components/AmapMarker";
4
+ import { GmapAdvancedMarkerView } from "../../components/GmapAdvancedMarkerView";
5
+ import { useMapSupplier } from "../../components/MapProvider/useMapSupplier";
6
+ import { AnchorType } from "../../types/amap/marker";
7
+ import { createElement, defineSetup } from "../../types/helper";
8
+ import { createDom } from "../../utils/dom";
9
+ import { vec2lnglat } from "../../utils/transform";
10
+ import * as css from "./PlaceCircle.css";
11
+
12
+ interface PlaceCircleProps {
13
+ position: [number, number];
14
+ label?: string;
15
+ }
16
+ export const APlaceCircle = defineSetup(function APlaceCircle(props: PlaceCircleProps) {
17
+ const contentRef = computed(
18
+ () => `
19
+ <div class="${css.placeCircleLayout}" >
20
+ <img class="${css.placeIcon} ${css.amapPlaceIconLayout}" src="${imgPlaceCircle}">
21
+ <div class="${css.label}">${props.label}</div>
22
+ </div>
23
+ `
24
+ );
25
+ const contentWithoutLabelRef = computed(
26
+ () => `<img class="${css.placeIcon} ${css.amapPlaceIconLayout}" src="${imgPlaceCircle}">`
27
+ );
28
+ return () => (
29
+ <AmapMarker
30
+ position={props.position}
31
+ content={props.label ? contentRef.value : contentWithoutLabelRef.value}
32
+ anchor={AnchorType.middleLeft}
33
+ />
34
+ );
35
+ });
36
+
37
+ export const GPlaceCircle = defineSetup(function GPlaceCircle(props: PlaceCircleProps) {
38
+ const contentRef = computed(() =>
39
+ createDom(
40
+ "div",
41
+ { class: `${css.placeCircleLayout} ${css.gmapPlaceIconLayout}` },
42
+ `
43
+ <img class="${css.placeIcon}" src="${imgPlaceCircle}">
44
+ <div class="${css.label}">${props.label}</div>
45
+ `
46
+ )
47
+ );
48
+ const contentWithoutLabelRef = computed(() =>
49
+ createDom("img", { class: `${css.placeIcon} ${css.gmapPlaceIconLayout}`, src: imgPlaceCircle })
50
+ );
51
+ return () => (
52
+ <GmapAdvancedMarkerView
53
+ position={vec2lnglat(props.position)}
54
+ content={props.label ? contentRef.value : contentWithoutLabelRef.value}
55
+ />
56
+ );
57
+ });
58
+
59
+ export const PlaceCircle = defineSetup(function PlaceCircle(props: PlaceCircleProps) {
60
+ const payload = useMapSupplier();
61
+ return () => {
62
+ return createElement(payload.supplier === "gmap" ? GPlaceCircle : APlaceCircle, {
63
+ attrs: props,
64
+ });
65
+ };
66
+ });
@@ -0,0 +1 @@
1
+ export * from "./PlaceCircle";
@@ -0,0 +1,70 @@
1
+ import { style } from "@vanilla-extract/css";
2
+ import { recipe } from "@vanilla-extract/recipes";
3
+
4
+ export const pointLayout = style({
5
+ marginBottom: "-0.4vw",
6
+ display: "flex",
7
+ flexDirection: "column",
8
+ alignItems: "center",
9
+ });
10
+
11
+ export const pointInfoBox = style({
12
+ padding: "1.07vw 2.4vw 1.6vw 2.67vw",
13
+ background: "#FFFFFF",
14
+ boxShadow: "0vw 0.53vw 2.4vw 0vw rgba(63,63,63,0.2)",
15
+ borderRadius: "2.13vw",
16
+ });
17
+
18
+ export const pointSingleInfoBox = style({
19
+ padding: "2.67vw 2.67vw 2.4vw 3.2vw",
20
+ background: "#FFFFFF",
21
+ boxShadow: "0vw 0vw 2.67vw 0vw rgba(78,85,108,0.15)",
22
+ borderRadius: "4.8vw",
23
+ fontSize: "3.2vw",
24
+ fontFamily: "PingFangSC-Medium, PingFang SC",
25
+ fontWeight: 500,
26
+ color: "#1E1E1E",
27
+ lineHeight: "4.53vw",
28
+ whiteSpace: "nowrap",
29
+ });
30
+
31
+ export const pointInfoBoxTitle = style({
32
+ fontSize: "3.2vw",
33
+ fontFamily: "PingFangSC-Medium, PingFang SC",
34
+ fontWeight: 500,
35
+ color: "#1E1E1E",
36
+ lineHeight: "4.53vw",
37
+ whiteSpace: "nowrap",
38
+ });
39
+
40
+ export const pointInfoBoxDescription = style({
41
+ fontSize: "2.4vw",
42
+ fontFamily: "PingFangSC-Regular, PingFang SC",
43
+ fontWeight: 400,
44
+ color: "#7E7E7E",
45
+ lineHeight: "3.47vw",
46
+ whiteSpace: "nowrap",
47
+ });
48
+
49
+ export const pointInfoBoxEmphasize = style({
50
+ color: "#4471FF",
51
+ fontFamily: "PingFangSC-Medium, PingFang SC",
52
+ fontWeight: 500,
53
+ });
54
+
55
+ export const pointIcon = recipe({
56
+ variants: {
57
+ type: {
58
+ start: {
59
+ marginTop: "1.33vw",
60
+ width: "6.192vw",
61
+ height: "7.998vw",
62
+ },
63
+ end: {
64
+ marginTop: "2.4vw",
65
+ width: "6.192vw",
66
+ height: "7.998vw",
67
+ },
68
+ },
69
+ },
70
+ });
@@ -0,0 +1,103 @@
1
+ import { computed } from "vue-demi";
2
+ import imgEndPoint from "../../assets/icons/svg/end-point.svg";
3
+ import imgStartPoint from "../../assets/icons/svg/start-point.svg";
4
+ import { AmapMarker } from "../../components/AmapMarker";
5
+ import { GmapAdvancedMarkerView } from "../../components/GmapAdvancedMarkerView/GmapAdvancedMarkerView";
6
+ import { useMapSupplier } from "../../components/MapProvider/useMapSupplier";
7
+ import { createElement, defineSetup } from "../../types/helper";
8
+ import { createDom } from "../../utils/dom";
9
+ import { decodeAsterisk, vec2lnglat } from "../../utils/transform";
10
+ import * as css from "./StartEndPoint.css";
11
+
12
+ export interface StartEndPointProps {
13
+ type: "start" | "end";
14
+ position: [number, number];
15
+ title?: string;
16
+ description?: string;
17
+ }
18
+ export const AStartEndPoint = defineSetup(function AStartEndPoint(props: StartEndPointProps) {
19
+ const contentRef = computed(() => {
20
+ const icon = props.type === "start" ? imgStartPoint : imgEndPoint;
21
+ const descriptionRow = !props.description
22
+ ? ""
23
+ : decodeAsterisk(props.description)
24
+ .map((item) =>
25
+ item.type === "normal"
26
+ ? item.value
27
+ : `<span class="${css.pointInfoBoxEmphasize}">${item.value}</span>`
28
+ )
29
+ .join("");
30
+ if (!props.description && !props.title)
31
+ return `<img src="${icon}" class="${css.pointIcon({ type: props.type })}">`;
32
+ if (!props.description)
33
+ return `
34
+ <div class="${css.pointLayout}">
35
+ <div class="${css.pointSingleInfoBox}">${props.title}</div>
36
+ <img src="${icon}" class="${css.pointIcon({ type: props.type })}">
37
+ </div>
38
+ `;
39
+ return `
40
+ <div class="${css.pointLayout}">
41
+ <div class="${css.pointInfoBox}">
42
+ <div class="${css.pointInfoBoxTitle}">${props.title ?? ""}</div>
43
+ <div class="${css.pointInfoBoxDescription}">${descriptionRow}</div>
44
+ </div>
45
+ <img src="${icon}" class="${css.pointIcon({ type: props.type })}">
46
+ </div>
47
+ `;
48
+ });
49
+ return () => (
50
+ <AmapMarker position={props.position} content={contentRef.value} anchor={"bottom-center"} />
51
+ );
52
+ });
53
+
54
+ export const GStartEndPoint = defineSetup(function GStartEndPoint(props: StartEndPointProps) {
55
+ const contentRef = computed(() => {
56
+ const icon = props.type === "start" ? imgStartPoint : imgEndPoint;
57
+ const descriptionRow = !props.description
58
+ ? ""
59
+ : decodeAsterisk(props.description)
60
+ .map((item) =>
61
+ item.type === "normal"
62
+ ? item.value
63
+ : `<span class="${css.pointInfoBoxEmphasize}">${item.value}</span>`
64
+ )
65
+ .join("");
66
+ if (!props.description && !props.title)
67
+ return createDom("img", { class: css.pointIcon({ type: props.type }), src: icon });
68
+ if (!props.description)
69
+ return createDom(
70
+ "div",
71
+ { class: css.pointLayout },
72
+ `
73
+ <div class="${css.pointSingleInfoBox}">${props.title}</div>
74
+ <img src="${icon}" class="${css.pointIcon({ type: props.type })}">
75
+ `
76
+ );
77
+ return createDom(
78
+ "div",
79
+ { class: css.pointLayout },
80
+ `
81
+ <div class="${css.pointInfoBox}">
82
+ <div class="${css.pointInfoBoxTitle}">${props.title ?? ""}</div>
83
+ <div class="${css.pointInfoBoxDescription}">${descriptionRow}</div>
84
+ </div>
85
+ <img src="${icon}" class="${css.pointIcon({ type: props.type })}">
86
+ `
87
+ );
88
+ });
89
+ return () => {
90
+ return (
91
+ <GmapAdvancedMarkerView position={vec2lnglat(props.position)} content={contentRef.value} />
92
+ );
93
+ };
94
+ });
95
+
96
+ export const StartEndPoint = defineSetup(function StartEndPoint(props: StartEndPointProps) {
97
+ const payload = useMapSupplier();
98
+ return () => {
99
+ return createElement(payload.supplier === "gmap" ? GStartEndPoint : AStartEndPoint, {
100
+ attrs: props,
101
+ });
102
+ };
103
+ });