簡體   English   中英

單擊OpenLayers中的GML軌道

[英]Click on GML track in OpenLayers

如何在Open Layers中捕獲GML軌道上的click事件?

我有以下代碼:

var gmlTrack = new OpenLayers.Layer.GML("Track", myGpxUrl, {
    format: OpenLayers.Format.GPX,
    projection: new OpenLayers.Projection("EPSG:4326")
});

我認為解決方案是添加以下幾行:

gmlTrack.events.register("click", gmlTrack, function(e){
    alert("Click on GPX track!");
});

但這是行不通的。

明確說明:我只希望在用戶單擊GPX軌道時觸發click事件。

我在做什么錯,我該如何解決?

謝謝。

您可以使用選擇功能控件(使OpenLayers知道如何處理事件)來實現所需的功能

    selectControl = new OpenLayers.Control.SelectFeature(
        [gmlTrack],
        {
            clickout: true, toggle: false,
            multiple: false, hover: false,
            onSelect: trackSelected
        }
    );

    map.addControl(selectControl);
    selectControl.activate();

並包括一些用於trackSelected的處理程序

function trackSelected(feature){
    alert("something here");  
}

這是一個有用的OpenLayers示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM