【发布时间】:2020-09-05 17:40:33
【问题描述】:
如何在谷歌地图信息窗口中呈现 html?
我尝试了几种不同的方法来做到这一点,但它们似乎都不起作用。
我的代码:
import React, { Component, useState } from 'react';
import ReactDOMServer from 'react-dom/server';
import { GoogleMap, LoadScript, useLoadScript, InfoWindow, Marker, } from '@react-google-maps/api'
export class MarkerWithInfoWindow extends React.Component {
constructor() {
super();
this.state = {
isOpen: false
}
this.onToggleOpen = this.onToggleOpen.bind(this);
this.onEventWindowClick = this.onEventWindowClick.bind(this)
}
onToggleOpen() {
this.setState({
isOpen: !this.state.isOpen
});
}
render() {
const imgUrl = this.props.icon;
return (<Marker
title={this.props.title}
position={this.props.position}
icon={{
url: imgUrl,
}}
>
{this.state.isOpen && <InfoWindow
onCloseClick={this.onToggleOpen}
position={this.props.position}
onMouseOut={this.onToggleOpen}
pixelOffset={{ width: 25, height: 25 }}
zIndex={-1}
onClick={this.onEventWindowClick(this)}
>
<> {ReactDOMServer.renderToString(this.props.content)}</>
</InfoWindow>}
</Marker>)
}
}
我的结果如下所示:
【问题讨论】:
标签: html reactjs google-maps infowindow