uniapp微信小程序 map地图markers图标不显示,markers图标真机调试不显示

uniapp微信小程序 map地图markers图标不显示,markers图标真机调试不显示

举例:

  • 预期效果如下,蓝色为用户位置,红色为店铺位置均为自定义图标
    请添加图片描述
  • 实际发布后手机上的效果 (此处忽略位置先只关注图标问题)
  • 可以很明确的看到自定义图标失效了,使用了原生自带的图标
    请添加图片描述

问题复现

  • 关键代码如下
<template>
 <map style="width: 100%; height: 240px;" :latitude="params.lat" :longitude="params.lon" :markers="covers" />
</template>

<script lang="ts" setup>
//地图标记点配置
const covers = reactive([
  {
    id: 1,
    iconPath: '../../static/image/map-store-red.svg',
    latitude: 0,
    longitude: 0,
    width: 24,
    height: 32
  },
  {
    id: 2,
    iconPath: '../../static/image/map-owner-blue.svg',
    latitude: 0,
    longitude: 0,
    width: 24,
    height: 32,
  },
])
</script>

问题所在

  • 1.图标问题 在采用自定义图标时 请使用图片 不要使用 svg类型的,使用svg类型的图标,在微信小程序开发者工具上不会出现问题,但是一旦使用真机调试或者发布后,无法显示自定义配置图标
  • 2.路径问题 在引入时直接从 /static/xxx开始引入,不要使用 …/…/ (目前不清楚为啥知道的补充告知)

解决

  • 1.修改图片的类型
  • 2.修改图片引入的路径方式
//地图标记点配置
const covers = reactive([
  {
    id: 1,
    iconPath: '/static/image/map-store-red.png',
    latitude: 0,
    longitude: 0,
    width: 24,
    height: 32
  },
  {
    id: 2,
    iconPath: '/static/image/map-owner-blue.png',
    latitude: 0,
    longitude: 0,
    width: 24,
    height: 32,
  },
])
  • 路劲参考
    在这里插入图片描述

bye)🤡

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在使用 Uniapp 开发的过程,如果你想实现 Markers 的点击事件,可以按照以下步骤进行操作: 1. 首先,在你的页面引入地图组件,比如使用 `uni-ui` 提供的 `uni-map` 组件或者其他地图组件库。 2. 在页面的 `data` 定义一个 markers 数组,用于存储地图上的标记点信息。例如: ```javascript data() { return { markers: [ { id: 1, latitude: 39.908823, longitude: 116.397470, title: 'Marker 1', iconPath: '/static/marker.png' }, // 其他标记点... ] } } ``` 3. 在地图组件使用 `v-for` 指令循环渲染标记点,并为每个标记点绑定点击事件。例如: ```html <uni-map :longitude="116.397470" :latitude="39.908823"> <template v-for="marker in markers"> <uni-map-marker :id="marker.id" :longitude="marker.longitude" :latitude="marker.latitude" :title="marker.title" :iconPath="marker.iconPath" @click="handleMarkerClick(marker)"></uni-map-marker> </template> </uni-map> ``` 4. 在方法实现 `handleMarkerClick` 函数,用于处理标记点的点击事件。例如: ```javascript methods: { handleMarkerClick(marker) { console.log('点击了标记点', marker); // 处理点击事件的逻辑 } } ``` 通过以上步骤,你就可以在 Uniapp 实现 Markers 的点击事件了。当用户点击标记点时,会触发 `handleMarkerClick` 方法,并将相应的标记点信息传递给该方法进行处理。你可以根据实际需求,自定义标记点的样式和点击事件的处理逻辑。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值