[英]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.