Node.js 如何正确地将请求代理到Google Maps嵌入API?

Node.js 如何正确地将请求代理到Google Maps嵌入API?,node.js,reactjs,docker,iframe,google-maps-embed,Node.js,Reactjs,Docker,Iframe,Google Maps Embed,我正在尝试使用嵌入一个与用户输入的地址匹配的映射。按照开发人员指南,我获得了一个API密钥以添加到我的API请求中。当我通过React客户端中iframe的“src”属性请求映射时,我能够成功地拉出映射,如下所示: <iframe ... src={`https://www.google.com/maps/embed/v1/${mode}?key=${apiKey}&q=${encodedAddressQuery}`} > 我正在Docker容器中运行React

我正在尝试使用嵌入一个与用户输入的地址匹配的映射。按照开发人员指南,我获得了一个API密钥以添加到我的API请求中。当我通过React客户端中iframe的“src”属性请求映射时,我能够成功地拉出映射,如下所示:

<iframe
   ...
   src={`https://www.google.com/maps/embed/v1/${mode}?key=${apiKey}&q=${encodedAddressQuery}`}
>
我正在Docker容器中运行React前端和Node.js后端


我最好的猜测是,我缺少了MapsAPI所期望的一个请求头,但我还没有找到任何关于该请求头的文档,或者可能我误解了一些更基本的东西。非常感谢您的指导。

限制您的API密钥。文档中也解释了这一点。限制API密钥。文档中也解释了这一点。
<iframe
   ...
   src={`http://127.0.0.1:3001/api/maps?parameters=${encodedAddressQuery}`}
>
router.get('/api/maps', async (req: Request, res: Response) => {
    try {
        const parameters = req.query.parameters;
        const map = await MapDataAccessObject.getOne(parameters);
        return res.status(OK).send(map.data);
    } catch (err) {
        ...
    }
});

export class MapDataAccessObject {

    public static async getOne(parameters: string) {
        const apiUrl = this.getMapsEmbedUrl(parameters);
        const map = await axios.get(apiUrl);
        return map;
    }

    private static getMapsEmbedUrl(parameters: string) {
        const encodedParams = encodeURI(parameters);
        return `https://www.google.com/maps/embed/v1/place?key=${process.env.MAPS_API_KEY}&q=${encodedParams}`;
    };
}