【问题标题】:Vue2Leaflet is not placing custom Icon in the mapVue2Leaflet 没有在地图中放置自定义图标
【发布时间】:2021-04-25 15:08:24
【问题描述】:

我尝试了几个示例,但结果是损坏的图像或默认图标

    <l-marker
      v-for="marker in getFilteredVehicles"
      :lat-lng="marker.latLng"
      :key="marker.rtoNo"
      @click="openVehicleStatus(marker)"
    >
    <l-icon
      :icon-size="[20,40]"
      :icon-anchor="[22, 94]"
      icon-url="src/assets/icons/map-icons/d-green-car.png" >
    </l-icon>
   </l-marker>

即使我尝试在l-marker 中使用L.icon(),但它会产生损坏的图像

模板

    <l-marker
      v-for="marker in getVehicles"
      :lat-lng="marker.latLng"
      :key="marker.rtoNo"
      :icon="getIcon()"
      @click="openVehicleStatus(marker)"
    >

脚本

getIcon() {
  return L.icon({ 
    iconUrl: "src/assets/icons/map-icons/d-green-car.png",
    shadowUrl: "src/assets/icons/map-icons/d-green-car.png", 
    iconSize:     [38, 95], // size of the icon
    shadowSize:   [50, 64], // size of the shadow
    iconAnchor:   [22, 94], // point of the icon which will correspond to marker's location
    shadowAnchor: [4, 62],  // the same for the shadow
    popupAnchor:  [-3, -76] // point from which the po
  });
}

【问题讨论】:

标签: vue.js vuejs2 leaflet vue2leaflet


【解决方案1】:

以下代码对我有用。

<l-marker
  v-for="marker in getFilteredVehicles"
  :lat-lng="marker.latLng"
  :key="marker.rtoNo"
  @click="openVehicleStatus(marker)"
>
    <l-icon
        :icon-size="[40,40]"
        :icon-anchor="[22, 94]"
        icon-url="http://icons.iconarchive.com/icons/paomedia/small-n-flat/1024/map-marker-icon.png"
    />
</l-marker>

请检查您是否正确导入了LIcon,如下所示。

import {LIcon} from "vue2-leaflet";

export default {
    components: {
        LIcon
    }
}

【讨论】:

  • 是的,它正在与远程制造商合作,但它不适用于放置在项目内的静态资产
  • 我也尝试过本地图像。它也为我工作。只需检查该标记图像是否可以在浏览器中公开访问。这是道具值icon-url="/assets/map-marker-icon.png",这是公共网址http://localhost:8000/assets/map-marker-icon.png
  • 我尝试使用公共 URL http://localhost:8082/assets/map-icons/car-green.svg 它加载主页而不是图标
  • 我认为问题可能是图像的类型。您使用了svg 标记。只需尝试使用png 图像。
  • 当我尝试使用 &lt;img src="@/assets/map-icons/car-green.svg"&gt; 时,它正在显示图像
猜你喜欢
  • 2015-06-03
  • 2019-07-30
  • 2023-03-15
  • 1970-01-01
  • 2011-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-22
相关资源
最近更新 更多