繁体   English   中英

getProjection不是一个函数-谷歌地图反应

[英]getProjection is not a function - google-maps-react

我正在尝试使用google-maps-react绘制曲线。 为此,我搜索并发现了以下问题“ 如何在react-google-maps中弯曲折线? ”。 在这个问题中,答案是指一个沙盒项目,在其中完成了这样的实现。

我尝试修改此代码以使其对我有用,但是我在使用以下方法获取地图的“投影”时遇到了问题,这是计算“点”所必需的

const p1 = mapProjection.fromLatLngToPoint(pos1),

搜索地图组件的道具和状态后,我发现“ getProjection”方法位于内部:道具-> google->地图->地图->原型-> getProjection。

我尝试使用以下方式访问它:

mapProjection = {this.props.google.maps.Map.getProjection()}

并导致错误“ TypeError:this.props.google.maps.Map.getProjection不是函数”。

使用

mapProjection = {this.props.google.maps.Map.prototype.getProjection()}

导致未定义

我真的很困,我不知道如何解决这个问题。 你们中的任何人都能指出我正确的方向吗? 非常感谢你。

该行this.props.google.maps.Map.getProjection()尝试访问地图实例上的一种方法,该方法可以在Map类本身上静态使用。 由于只能在Map类的对象上调用getProjection() ,因此必须在使用new maps.Map(myDomNode, myMapConfig);实例化的地图上调用getProjection()new maps.Map(myDomNode, myMapConfig);

如果您看一下本教程如何编写Google Maps React组件,您会注意到在Map组件的loadMap函数中创建了一个新的地图实例,并通过this.map = new maps.Map(node, mapConfig);

到那时, this.map (地图实例)可用于Map组件上的任何方法,并且可以使用var projection = this.map.getProjection();获得投影var projection = this.map.getProjection();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM