2012-03-09 20 views
1

私はずっと幻想的なOpenStreetMapマッピングライブラリleaflet.jsを使ってきましたが、今はthis clustering pluginを実装し始めました。現在のプロジェクトではうまくいきました。地図上とクリック可能なサイドバーに異なるレイヤーをロードします。OpenPopup()をLeaflet.js +クラスタリングで使用する

唯一の問題は、サイドバー項目をクリックし、対応するマーカーがクラスタリングオブジェクトにある場合、エラーが発生することです。私は層が以下のように表示されているので、(のtry/catchを使用して)エラーをチェックし、ズームすることで、この周りを持っている:

$('.item').click(function() { 
    currentlayer = this.id; 
... 
     try { 
      geojson._layers[currentlayer].openPopup(); 
     } catch(e) { 
      map.setView(geojson._layers[currentlayer]._latlng, 16); 
      geojson._layers[currentlayer].openPopup(); 
     }     
... 
    return false; 
}); 

唯一の問題はopenPopupのを実行しようとしたとき、私は同じエラーを取得するということです()メソッドを使用しますが、サイドバーを再度クリックすると、ポップアップが正常に表示されます。

http://www2.lichfielddc.gov.uk/myarea/map2.php

任意のアイデア:あなたはここにアクションでそれを見ることができますか?

答えて

2

ええ、私はそのプラグインで同じ問題がありました。だから自分自身を開発しました。ポップアップを正しく配置する必要があります。また、いくつかのイベントでビルドするので、クラスタをクリックしたときにコードを実行したり、ズームレベルが変更されたりするのを防ぐことができます。

https://github.com/cavis/leafpile

また、私はあなたに似たプロジェクトに取り組んでいる - https://github.com/cavis/slidemapper。マップ上をたどるスライドショーを作成するためのjqueryプラグインです。私はそれに直接私のleafpileプラグインを統合することに取り組んでいます。

関連する問題