2017-11-21 25 views
0

私は私のリーフレットマップビューアにsearch boxを追加しようとしています:キャッチリーフレット検索イベント

var controlSearch = new L.Control.Search({ 
    layer: new L.LayerGroup() 
}).on('search_expanded', function() { 
    console.log('search_expanded!') 
}).on('popupopen', function(e) { 
    var marker = e.popup._source.feature.properties.markerid; 
}).addTo(map); 

私はブレークポイントを置いてきた上、eventsに検索機能を実行するためのカスタムコードを追加する必要があります。しかし、検索ボタンを押すかテキストを入力すると、コードが自分のイベントに到達していません。
私は地図を使ってエリアの面積を表示しています。検索では、カスタムプロパティに基づいてエリアを識別し、それらを強調表示したり、ユーザに識別させるために何かを探す必要があります。だから、検索は場所やそのようなものに適用すべきではなく、表示されているアイテムのカスタムプロパティです。 このページはほとんどがjQueryで動作し、角度はありません。

私はイベントのリストを見つけることができませんでした。
これで、ユーザーが入力したイベントをどのように捕捉できますか?

+1

あなたが置く検索expandeイベントが間違っています。それを好きなように置く( 'search:expande')それは動作します – SamaBalaYam

+0

@AbidNawazありがとう、それは私のために拡張されました。ユーザーが入力するイベントはありますか?または、その瞬間に作成されたテキストボックスにそれを追加する必要がありますか? – MrFox

+1

リーフレットコントロールの検索のドキュメントによると、ユーザーの種類のイベントはありませんが、テキストボックスに追加できます。 – SamaBalaYam

答えて

1

あなたは、入力ボックスを検索するには、このようにイベントを追加することができます。

var controlSearch = new L.Control.Search({ 
    layer: new L.LayerGroup() 
}).on('search:expanded', function() { 
    this._input.onkeyup = function(){ 
    console.log(this.value) 
    } 

}).addTo(map); 
関連する問題