博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
react+百度地图实现自定义图标
阅读量:6200 次
发布时间:2019-06-21

本文共 1575 字,大约阅读时间需要 5 分钟。

开发环境

1.react

2.百度地图使用的是:rc-bmap

实现效果

图片描述

实现图中提示框的效果。

看到这个,用过百度地图的第一个会想到marker,其实不是,用的是Label,其实难点不在这,这个看看API,都能很快琢磨出来。

难点

1.如何显示成带图标的那个外框

2.里面的内容如何换行,及设置样式

思路

看了API,Marker不能显示内容,但Marker可以使用Label属性,其实也是用的Label

所以开始研究Label,首先Label是显示内容的,但是labelcontent属性只能是string,这就麻烦了,怎么控制字体显示呢,怎么设置样式呢?
原来使用了jsx的语法来写,显示的是[Object Object]显然不支持啊。

解决方法

最后根据经验试了下html字符串,字符串上套了层div,原以为div会显示出来,结果没有。

于是就知道这个是支持hmtl字符串的;

这样换行控制是解决了,接下来是样式,按照jsx的语法写,没效果,想着也合理。

content={`
骑手正在取件途中
1.8公里
`}

于是又试了直接写class

content={`
骑手正在取件途中
1.8公里
`}

这样感觉也不合理,因为样式需要babel编译的,直接这样写,是识别不了的。

因此就有了解决方案

content={`
骑手正在取件途中
1.8公里
`}

外框的实现

外框其实通过设置Label的style来实现。

相关code

import courierLabelBG from "./images/courier_label_bg.svg";//图片中带有前面的小车const point = {  lng: 116.404,  lat: 39.915};const { Description } = DescriptionList;const ButtonGroup = Button.Group;const labelStyle = {  backgroundImage: `url(${courierLabelBG})`,  backgroundRepeat: "no-repeat",  backgroundSize: "cover",  backgroundColor: "rgba(0, 0, 0, 0)",  border: "none",  color: "rgba(51,51,51,1);",  paddingLeft: "54px",  paddingTop: "8px",  fontWeight: "400",  width: "181px",  height: "52px"};const courierOffset = {  width: -92,  height: -54};    

转载地址:http://ekxca.baihongyu.com/

你可能感兴趣的文章
html5自定义属性
查看>>
【算法学习笔记】39.字符串处理 单词分割 SJTU OJ 1302 缩进格式
查看>>
P1126 机器人搬重物
查看>>
Android学习笔记34-使用文件存储数据
查看>>
jquery tips 提示层
查看>>
用俩个栈实现队列
查看>>
搭建 git 服务器
查看>>
数据库持久连接理解
查看>>
Android进阶:打jar包获取assets中的资源 解决selector XML文件不能解析的问题
查看>>
[转载]SharePoint 2013搜索学习笔记之自定义结果源
查看>>
上传文件
查看>>
python manage.py startapp app 时候报错No module named _sqlite3
查看>>
11.02 跳过表中n行
查看>>
360遭下架,苹果商店封杀360手机应用
查看>>
2、AD工程创建步骤
查看>>
OO第三次博客作业
查看>>
[转]手把手教你做iOS推送
查看>>
Java公众号推荐 - BeJavaGod
查看>>
iptables规则组成
查看>>
面向对象
查看>>