簡體   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