微信小程序如何在地图上面操作样式

最近在做的一个小程序项目,基于小程序原生地图组件开发。当点击markers的时候,会在地图上方出现一些样式。遇到的问题大概是 map 组件是由客户端创建的原生组件,它的层级是最高的

想绕过是不可能的了,因为有的项目已经实现,大概是这个效果(红色圈着的部分)

这里写图片描述

尝试了各种不可能之后,只能选择跟map同样为层级最高的canvas实现,先上实现后的效果

这里写图片描述

嗯,差不多是自己想要的效果了,现在来给大家分享一下实现方式。

这里写图片描述这里写图片描述这里写图片描述

分为3步,描绘上下两个样式,上面为浅灰,下面是白色,带有阴影效果

WXML代码

<map id="map" longitude="113.324520" latitude="23.099994" scale="20" controls="
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
如果您想在uniapp微信小程序中模拟地图样式,可以通过以下步骤实现: 1. 引入腾讯地图SDK。 在项目的 `pages.json` 文件中,将 `"usingComponents"` 中的 `"map"` 组件改为 `"taro-map"` 组件,并在 `app.js` 中引入腾讯地图SDK。 ``` // app.js import QQMapWX from './libs/qqmap-wx-jssdk' Vue.prototype.qqmapsdk = new QQMapWX({ key: 'yourKey' }) ``` 2. 设置地图样式。 在 `map` 组件中添加 `setting` 属性,设置地图样式。您可以通过腾讯地图提供的地图样式工具,自定义地图样式。 ``` <map :setting="{ style: 'styleJson', skew: 0, rotate: 0, showLocation: true, showScale: true, showCompass: true, enable3D: false, enableOverlooking: false, enableZoom: true, enableScroll: true, enableRotate: false, enableSatellite: false, enableTraffic: false, enablePoi: true }" :styleJson="styleJson" ></map> ``` 3. 定义地图样式。 在 `data` 中定义 `styleJson` 对象,设置地图样式。 ``` data() { return { styleJson: [ { 'featureType': 'land', 'elementType': 'geometry', 'stylers': { 'color': '#f5f5f5' } }, { 'featureType': 'water', 'elementType': 'geometry', 'stylers': { 'color': '#c9c9c9' } }, { 'featureType': 'road', 'elementType': 'geometry', 'stylers': { 'color': '#ffffff' } }, { 'featureType': 'road', 'elementType': 'labels.text.fill', 'stylers': { 'color': '#9ca5b3' } }, { 'featureType': 'administrative.locality', 'elementType': 'labels.text.fill', 'stylers': { 'color': '#bdbdbd' } }, { 'featureType': 'poi', 'elementType': 'labels.text.fill', 'stylers': { 'color': '#757575' } }, { 'featureType': 'poi.park', 'elementType': 'geometry', 'stylers': { 'color': '#c9c9c9' } }, { 'featureType': 'poi.park', 'elementType': 'labels.text.fill', 'stylers': { 'color': '#9e9e9e' } } ] } } ``` 通过以上步骤,您可以在uniapp微信小程序中模拟自定义地图样式

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值