使用uniapp的nvue开发地图map功能踩坑记录

nvue(native vue 的缩写)官网介绍

前言

由于这个app项目立项时间很紧,没有时间做技术预研就选了uniapp,地图又是首要功能而且是首页,所以一步一个坑了属于是。
当项目中有使用mapvideolive-pusher等组件且属于主要功能时,非必要不要用uniapp !

踩坑1:开发app时不要用vue写map

之前用vue写过几个前端map功能,本以为uniapp写app也大差不差用vue就行,于是让同事先把首页另一半非地图的UI先写了,留出map容器位置。

结果开始写map的时候发现运行到app后效果和网页完全不同,然后才翻了uniapp的文档发现需要用nvue。那就直接改文件后缀.vue转.nvue,结果样式完全错乱(文档有写很多css样式nvue不支持),乱到Cursor都拯救不了只能重写布局。

踩坑2:map的markers属性限制很多

具体请参考官网map组件介绍

我先说我遇到的一个问题。我用Cursor写代码,运行到iPhone模拟器上看效果,在写地图自定义marker时自动生成了以下代码:

js 复制代码
mapMarkers.value = [
      {
        ...省略,
        customCallout: {
          display: 'ALWAYS',
          anchorX: 0,
          anchorY: 20,
        },
      },
]

其中设置了偏移量anchorY,运行到iPhone模拟器和真机上后效果都没有问题,然后开心的写完了功能,然后Android同事说运行到Android上后没有偏移量。

调试了半天后发现文档里customCallout仅仅支持设置display这个属性。咱就是说,uniapp能不能起码保持下iOS、Android两端统一性啊?或者像下面display的说明一样写在文档里。

相关推荐
爱分享的程序员26 分钟前
前端面试专栏-算法篇:18. 查找算法(二分查找、哈希查找)
前端·javascript·node.js
翻滚吧键盘31 分钟前
vue 条件渲染(v-if v-else-if v-else v-show)
前端·javascript·vue.js
vim怎么退出33 分钟前
万字长文带你了解微前端架构
前端·微服务·前端框架
你这个年龄怎么睡得着的33 分钟前
为什么 JavaScript 中 'str' 不是对象,却能调用方法?
前端·javascript·面试
Java水解36 分钟前
前端常用单位em/px/rem/vh/vm到底有什么区别?
前端
CAD老兵39 分钟前
Vite 如何借助 esbuild 实现极速 Dev Server 体验,并支持无 source map 的源码调试
前端
南屿im40 分钟前
JavaScript 手写实现防抖与节流:优化高频事件处理的利器
前端·javascript
Spider_Man40 分钟前
从零开始构建React天气应用:API集成与UI设计全指南 🌤️
前端·react.js
浩浩测试一下1 小时前
渗透信息收集- Web应用漏洞与指纹信息收集以及情报收集
android·前端·安全·web安全·网络安全·安全架构
西陵1 小时前
Nx带来极致的前端开发体验——借助CDD&TDD开发提效
前端·javascript·架构