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