2017-07-31 13 views
0

は、私はこのコードでページのロード後に生成されるいくつかの反応-リーフレットマップを無効にする必要がありますスローされます:無効化proceduraly生成されたマップ

Uncaught (in promise) TypeError: maps[i].invalidateSize is not a function 

ありがとう、エド。

答えて

1

マップIDをリーフレットマップではなく配列にプッシュしています。そのため、文字列上のLeaflet API関数(あなたの場合はinvalidateSize)を呼び出すことができません。

<Map ref={indExtra} style={mapStyles} center={asset.point.coordinates} zoom={7}> 

をして、レフリーはあなたがレフリーにアクセスし、それらを無効にするマップ配列に格納IDS使用:

代わりにマップにIDを与えると、それをref などを与えます。 leafletElementも使用することを忘れないでください。

var i; 
    for(i=0; i < maps.length; i++){ 
     this.refs[maps[i]].leafletElement.invalidateSize(true); 
    } 
+0

あなたは驚くべき素晴らしい人Alexです! –

関連する問題