|React+Openlayuers 模板(学习中,持续更新)( 三 )
/**
* 创建信息框
*/
const createInfo = () => {
//创建overlay容器
const overlayDom = document.createElement('div');
overlayDom.className = 'overlayDom';
mapDom.current?.appendChild(overlayDom);
//创建内部信息容器
const overlayInfo = document.createElement('div');
overlayInfo.className = 'overlayInfo';
overlayDom.appendChild(overlayInfo)
//创建overlay
const overlay = new Overlay({
element: overlayDom // overlay包含的DOM
autoPan: true // 当overlay超出地图边界时 , 地图自动移动
positioning: 'bottom-center'
offset: [0 -50
// 偏移量 , 单位像素
stopEvent: true // 事件传播
autoPanAnimation: {
// 设置autoPan的动画
duration: 500
autoPanMargin: 150
)
//将overlay添加到地图
map.current.addOverlay(overlay)
//设置地图左键点击事件
map.current.on('click' (event: any) => {
if (overlayInfo.innerHTML !== ' ') {
// 清空
reactDom.unmountComponentAtNode(overlayInfo);
// 获取点击的feature
const feature = map.current.forEachFeatureAtPixel(event.pixel function (feature: any vectorLayer: any) {
return feature;
)
if (feature && feature.id_ != undefined) {
const infoData = https://mparticle.uc.cn/api/feature.getGeometry().flatCoordinates;
const infoDom = (<div>
经度: {infoData[0 维度:{infoData[1
</div>
)
//将overlayInfo插入infoDom
reactDom.render(infoDom overlayInfo);
// 设置overlay位置
overlay.setPosition(infoData)
- 网友热议|母亲回应3个孩子2个上清华:只能教孩子做人诚实守信 学习都靠自己努力
- 格力电器|不要再说Python难了,按照这个学习路线,四周速成Python
- OPPO|准大学生看过来!满足大学四年学习、生活需求平板,三件套不到2K
- 京东|Java:有哪些快速学习Java语言的技巧?
- meta|学习通被曝泄露1.7亿条信息!网友:快下架吧
- 零售业|陈根:学习通被曝大规模信息泄露,争议之下还有三点重要思考
- 新东方|新东方的成功转型,这几点不正是跨境电商卖家们需要学习的地方吗!
- 明码标价|3000元可购买整个学习通数据库?我们的信息被公开售卖,明码标价
- saas|学习通被曝信息泄露:超 1.7 亿条隐私数据仅售卖 1.2 万元!
- 伊隆·马斯克|网传学习通1.7亿密码泄露!有什么补救措施?
