uni-app地图H5设置marker图片偏移左上角

发布于 1周前 作者 h691938207 来自 Uni-App

uni-app地图H5设置marker图片偏移左上角

操作步骤:

1

预期结果:

1

实际结果:

1

bug描述:

uniapp地图H5设置marker图片偏移左上角

信息类别 信息内容
产品分类 uniapp/H5
PC开发环境 Windows
PC开发环境版本 X64
HBuilderX类型 正式
HBuilderX版本 4.29
浏览器平台 Chrome
浏览器版本 未知
项目创建方式 HBuilderX

Image 1 Image 2


2 回复

您设置了anchor,这个是基于底边重点进行偏移的,所以说会看着偏


在uni-app中,H5平台上的地图组件支持自定义marker图标,并可以通过设置偏移量来调整marker的位置。在默认情况下,marker会居中显示在指定的经纬度位置上,但你可以通过anchor属性来设置marker相对于其锚点的偏移量,从而实现marker图片偏移左上角的效果。

下面是一个具体的代码案例,展示了如何在uni-app的H5地图上设置marker图片的偏移量,使其左上角对准指定的经纬度位置:

<template>
  <view>
    <map 
      id="map" 
      :longitude="longitude" 
      :latitude="latitude" 
      scale="16" 
      markers="markers" 
      style="width: 100%; height: 500px;"
    >
    </map>
  </view>
</template>

<script>
export default {
  data() {
    return {
      longitude: 116.404, // 示例经度
      latitude: 39.915,  // 示例纬度
      markers: [
        {
          id: 1,
          latitude: this.latitude,
          longitude: this.longitude,
          iconPath: '/static/marker.png', // 自定义marker图标路径
          width: 50,
          height: 50,
          anchor: { x: 0, y: 0 } // 设置marker的锚点为左上角
        }
      ]
    };
  }
};
</script>

<style scoped>
/* 样式可以根据需要调整 */
</style>

在这个例子中,anchor属性被设置为{ x: 0, y: 0 },这意味着marker的锚点被设置为图片的左上角。因此,marker将以其左上角为基准点,放置在指定的经纬度位置上。

需要注意的是,iconPath应该指向一个有效的图片路径,这里使用的是/static/marker.png作为示例。你需要确保这个路径在你的项目中是存在的,并且图片文件是有效的。

此外,scale属性用于设置地图的缩放级别,widthheight用于设置地图组件的大小。这些属性可以根据你的实际需求进行调整。

通过这种方式,你可以很容易地在uni-app的H5地图上实现marker图片的偏移,使其左上角对准指定的经纬度位置。希望这个代码案例能帮助你解决问题!

回到顶部