2017-02-04 5 views
0

いくつかの重複機能を含むWFSレイヤーから情報を取得しようとしています。私はこの機能を使って情報を取得しますが、トップフィーチャの情報を受け取っています。 誰かが私を助けることができますか?OpenlayersでWFSレイヤーを使用してポップアップで機能情報が重複する3

olMap.on('click', function(evt) { 

var feature = olMap.forEachFeatureAtPixel(evt.pixel, function(feature, layer) { 
    return feature; 
}); 
if (feature) { 
    var coordinate = evt.coordinate; 
    var viewResolution = /** @type {number} */ (view.getResolution()); 
    var coord = feature.getGeometry().getCoordinates(); 
    var props = feature.getProperties(); 

    content.innerHTML = '<p><b>City</b>:'+props.nam+'<br> ZIP CODE:'+props.f_code+'</p>'; 
    overlay.setPosition(coordinate); 
} 
else{ 
    overlay.setPosition(undefined); 
} 

答えて

0

はいけない代わりに、その方法だけ内側ifコードを移動forEachFeatureAtPixel方法から特徴を返します。

+0

'forEachFeatureAtPixel'から真理値を返さないのは正しいです。しかし、あなたのコードは問題を解決しません。なぜなら、コンテンツの 'innerHTML'はすべての後続の機能で上書きされるからです。その結果、表示される情報は、上部フィーチャーではなくボトムフィーチャーからのものになります。 – ahocevar

+0

はい、あなたの言うことは絶対に正しいです。しかし、彼のコードは1つの機能だけを扱っています。彼は重複した機能を「コンテンツ」に追加しようとしていない。私は彼がすべての重なり合うフィーチャのプロパティを表示したいのか、それとも1つのみを表示するのかはわかりません。 –

関連する問題