uniapp 小程序和app map地图上显示多个酷炫动态的标点,头像后端传过来,真机测试有效

这篇具有很好参考价值的文章主要介绍了uniapp 小程序和app map地图上显示多个酷炫动态的标点,头像后端传过来,真机测试有效。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

最近正在做小程序地图,收到ui 给的图,一开始以为很简单的,但在看了ui 给的图以后,发现没有这么简单。
下面是ui给的图:
uniapp地图显示多个点位,uniapp 小程序,小程序,uni-app,ui

于是花了很长的时间,走了很多坑才最终实现,来看效果链接:
https://s19.aconvert.com/convert/p3r68-cdx67/2sq95-zprfy.gif
图片如下:
uniapp地图显示多个点位,uniapp 小程序,小程序,uni-app,ui
uniapp地图显示多个点位,uniapp 小程序,小程序,uni-app,ui
接下来我将花点时间来说说如何实现和所遇到的坑

一、使用uniapp 原生的map 组件

查看uniapp 官网的map 的文档:https://uniapp.dcloud.net.cn/component/map.html#
注意如果没有特定的声明,那微信小程序默认调用的是腾讯地图。
template 代码如下:

	<!-- 这是地图 -->
			<view class="page-section page-section-gap">
				<map :markers="markers" scale='18' :enable-satellite='checkedWeixin'  enable-building='true' 
				 style="width: 100%; height:calc(90vh);" :latitude="latitude" :longitude="longitude"
					id="map" ref='map' show-location='true' @callouttap='callouttap'>
				</map>
			</view>

js 的代码如下:

	data() {
			return {
			    checkedWeixin:false,
				latitude:31.23598 ,
				longitude: 121.48053 ,
				markers: [{
					id: 0,
					title: "测试1",
					width: 58,
					height: 58,
					latitude:31.23588,
					longitude:121.48053 ,
				}]
			}
		},

这样写完之后,你会得到一个地图和一个定位坐标点,不过样式比较丑陋,坐标点的图标也是原生的,当然你可以采用自定义的图标,只需要在markers 里添加一个iconpPath ,具体的参数详见上面的官网链接。
uniapp地图显示多个点位,uniapp 小程序,小程序,uni-app,ui

二、发现坑1

这个时候,如果你的坐标是随便乱写的,你可能发现不了,但如果你刻意的使用某个具体位置的经纬度坐标,你就会发现,你从百度上找来的经纬度复制进去,在小程序的地图上会有偏差,这是怎么回事?这是因为考虑到定位的特殊性和敏感性,然后不同的厂商的算法也不一样,所以相同的经纬度,在不同的地图上显示也不一样了
解决:使用gcoord.js 这个可以自行去百度。
故 js 的代码也需要修改如下:
uniapp地图显示多个点位,uniapp 小程序,小程序,uni-app,ui
这样就解决了偏差的问题,顺利爬出第一个坑。。。。。。。

三、分析ui图----发现坑2

分析ui 图,不难发现,这个定位点,是有一个背景图,然后再背景图上有着不同头像的图片,这个,貌似用iconPath 貌似实现不了呀,这个时候,又陷入了另一个坑,也尝试了很多种的方法,想着,用插槽,我单独写marker ,失败,就在绝望的时候,我把uniapp 的官网向下滑动,发现了另一个东西
uniapp地图显示多个点位,uniapp 小程序,小程序,uni-app,ui
查阅资料发现,这两个属性可以用插槽单独写,到这里,想到了思路:
首先改造template 的map 组件,如图:
uniapp地图显示多个点位,uniapp 小程序,小程序,uni-app,ui
uniapp地图显示多个点位,uniapp 小程序,小程序,uni-app,ui

使用气泡 callout的注意事项,网上查一查也都有

这里我写了两张图,一个背景图,一张人物图,然后一张层级在上面,然后设置好对应的定位,这样就实现了背景图上有头像。

四、发现坑3

继上面的步骤,有人会问,为什么要这样是想呢?不直接给view 一个背景图属性,然后再用img 不就好, 我之前也是这样是想的,奈何,虚拟机上可以,但到了真机上不行,后来查了资料才明白,是cover-view 的限制,至于为什么要在地图上用cover-view ,具体大家可以去百度一下就知道了,还有为什么说cover-view 是个坑,大家百度一下也就知道了,他的第一个坑就是,不支持css 动画,也就是效果上的定位点一上一下的效果,之前直接使用animate.css 就行了,唉,又是掉头的一天,后面采用了uniapp 自己写动画,如下面:

<cover-image style='width: 50px;height: 58px;' src='https://images.hicling.com:9443/weixin/onlineBg.png'
:animation="animationData" />

js :
uniapp地图显示多个点位,uniapp 小程序,小程序,uni-app,ui
emmmmm,完美,这样就又解决了一个坑,继续。。。。。。。

四、发现坑4

本来以为写完这个,会出现我想象中的东西,结果还有那个丑陋的原生的marker 图标,这,这,这,我这不是需要重新设置iconPath ,可设置成什么,在页面上都会显示的呀,后面想了个骚操作,我上传一张透明的图片不就好了,这样不就没了,嗯,就这个干,果然marker 图标就不见,完美!!!

五、发现坑5 ----------------很重要,楼主花费了好长时间,愿大家都跳坑

这些写完之后,在模拟机上显示是可以的,但在真机上头像缺不见了,因为现在这个图像是从后端传过来的,之前的头像都是写死的,所以就出这个问题了。
uniapp地图显示多个点位,uniapp 小程序,小程序,uni-app,ui
uniapp地图显示多个点位,uniapp 小程序,小程序,uni-app,ui
然后我发了好长好长时间,大概一个下午,真的推到重写了很多很多次,网上也说可能是cover-iamge 的问题,然后我发现,可能是position的问题,之前的style 是这样写的,可能cover-image对position 无效
uniapp地图显示多个点位,uniapp 小程序,小程序,uni-app,ui
于是我换了种方式写法:
uniapp地图显示多个点位,uniapp 小程序,小程序,uni-app,ui
然后真机调试,芜湖,开心,总算出来了,功夫不负有心人!!!
uniapp地图显示多个点位,uniapp 小程序,小程序,uni-app,ui

六、实现聚合

这功能可以根据地图的比例,自动将相近的点聚合,然后显示数字。
uniapp地图显示多个点位,uniapp 小程序,小程序,uni-app,ui

七、在app 上实现

在app 上实现的话,需要将vue 统一改成nvue了,具体的在这里也就不在叙述了,思路还是和上面一样的,如果需要可以下面咨询我
uniapp地图显示多个点位,uniapp 小程序,小程序,uni-app,ui

八、总结

经历了这些,感觉uniapp 和小程序的bug 确实有点多,但好在社区活跃的人比较多,大家集思广益,方法总比问题多,最后如果觉得文章写的不错,麻烦大家点点赞!!!
uniapp地图显示多个点位,uniapp 小程序,小程序,uni-app,ui文章来源地址https://www.toymoban.com/news/detail-702727.html

如果需要完整的demo 代码,请联系 1015095073@qq.com 

到了这里,关于uniapp 小程序和app map地图上显示多个酷炫动态的标点,头像后端传过来,真机测试有效的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp 小程序 map设置地图缩放失效解决方法

    解决办法在需要设置前调取地图查询缩放等级方法,重新设置更新缩放等级后再设置需要的缩放等级就可以缩放了

    2024年02月12日
    浏览(42)
  • 小程序map拖动地图显示地图中心标记点及经纬度方法

    最近做毕设,需要获取地点坐标,有了地图地图,想想怎么来简单点。 就上网搜了搜(官方有提供地图选点返回经纬度的,但是感觉手指操作不太精准,就想着换一种) 然后自己写了个demo(代码再后面) 大体思路是在map中心放个很小的圈圈定位用(map中flex垂直水平居中不

    2024年02月05日
    浏览(38)
  • uniapp小程序map(点击地图增加maker,聚合、自定义聚合样式)

    功能背景 小程序端开发地图组件,点击地图上任何一个位置,增加一个maker,点击maker触发另外的事件。缩放地图进行聚合显示,自定义聚合样式 效果图 正常样式 聚合效果 注意:微信开发者工具是不支持聚合效果的,需要真机调试才能看到效果 代码实现

    2024年02月12日
    浏览(94)
  • 微信小程序引用Map地图规划制定路径行走并显示路径

    先上个效果图:     第一次写博客,这个功能是最近接触到要使用到,参考了部分博主的思想逻辑,然后自己动手敲写出来,如若侵权,请联系删帖。

    2024年02月11日
    浏览(49)
  • 【uniapp 小程序】解决 map 组件出现标点(地图)自动偏移或 @regionchange 频繁触发的问题

    在业务开发中出现了地图的中心标点向右侧缓慢移动的问题,在我解决后又发现了 @regionchange 方法出现了无限调用的问题。这几个问题属于微信 map 地图组件迟迟未修复的bug。 本文仅解决与我相似的问题以做参考,并会附上对应的问题与参考的博客。 1、地图无操作下出现缓

    2024年02月03日
    浏览(44)
  • uniapp 小程序 地图<map> 渲染标注点 且自定义气泡内容(slot写到页面中/样式自定义)

    效果图: (气泡可随意定义样式) 页面内容:  (slot为自定义标注气泡) 获取经纬度方法: 数据整理方法: (整理各坐标点经纬度和信息到maekers中) css内容:

    2024年02月13日
    浏览(34)
  • uniapp 微信小程序 echarts地图 点击显示类目

    效果如图: 在tooltip内axisPointer内添加 label:{show:true} 即可显示“请求离婚”的标题

    2024年02月13日
    浏览(56)
  • uni-app开发小程序中遇到的map地图的点聚合以及polygon划分区域问题

    写一篇文章来记录以下我在开发小程序地图过程中遇到的两个小坑吧,一个是点聚合,用的是joinCluster这个指令,另一个是polygon在地图上划分多边形的问题: 1.首先说一下点聚合问题,由于之前没有做过小程序地图问题,所以浏览了很多资料,最终发现看的多了反而杂乱,而

    2024年02月11日
    浏览(55)
  • uniapp实现微信小程序用户实时位置定位并显示地图

    目前,我们可以通过一些现成的api来实现此功能。下面我将介绍一下通过腾讯位置服务来实现此功能的具体操作流程。 1、在Hbuilder x中对项目进行权限开放 进入到manifest.json文件中   2、获取调用腾讯位置服务所需的key 登录腾讯地图api: 腾讯位置服务 - 立足生态,连接未来

    2024年02月09日
    浏览(59)
  • uniapp web-view 小程序内嵌H5 打开地图 唤起APP

      uniapp开发小程序内嵌H5的场景中,有需求如下:   在已知某个地点经纬度的情况下,可以在H5打开地图查看该地点的位置,以及能够唤起手机上的地图APP进行导航等操作。   此时uni.openLocation在唤起导航的时候,是打开在线的导航链接,且会由于小程序的限制无法正常

    2024年02月16日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包