2016-10-27 10 views
1

というリーフレットプラグインを使用して、リーフレットマップにポリゴンを挿入します。私が使用している構文は次のとおりです。リーフレット:KMLポリゴンの境界を取得する

var polygon = omnivore.kml('placeName.kml'); 
polygon.addTo(map); 

これは素晴らしいです。マップにはポリゴンが表示されます。しかし、それが追加されると、できるだけシェイプに合わせてマップを拡大/縮小したいと思っています。

polygon.addTo(map).fitBounds(); 

を...しかし、それはエラーがスローされます:私はこれをしようとしてきた'fitBounds is not a function'を。

polygon.addTo(map).getBounds().getNorthEast(); 

を...それは'cannot read property 'lat' of undefined'と戻ってくる:私もこれを使用して座標を見つけることを試みました。

誰もが考えている?私は困惑している。ドキュメントはhereで、リーフレット1.0.0を使用しています。

答えて

1

.kmlがロードされるまで待つ必要があります。だから、'ready'イベントが発生した後に自分のものを行い、ドキュメントHEREで次のように述べた。

var polygon = omnivore.kml('yourKML.kml'); 
polygon.addTo(map); 

polygon.on('ready', function() { 
    map.fitBounds(polygon.getBounds()) 
}); 
+0

私はそれが私が見落としのだものになるだろう知っていました!手伝ってくれてどうもありがとう。それがタイミングの問題であるという事実にあなたを指摘した何か特にありますか? '未定義'の部分はおそらく? @Manuel – Rich

+0

はい、私はコンソールで、.kmlが完全にロードされる前に.getBounds()メソッドが呼び出されるのを見ました – Manuel

関連する問題