[英]JavaScript - How to make an array that contains objects by reference?
我正在使用JavaScript映射庫-OpenLayer創建標記疊加層。 我想動態地控制標記:添加新標記並從圖層中刪除現有標記。
將新標記添加到圖層的方法是通過以下命令:
markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(0,0),icon));
如您所見,初始化參數僅包含坐標和圖標圖像,而不包含id,甚至不作為可選參數。
為了控制標記,我想創建二維數組,其中包含按引用和ID數組組成的標記數組。
然后,當我想從圖層中刪除標記時,命令將很簡單:
markers.removeMarker(ArrayMarkers[i]);
如何通過引用將元素推送到JavaScript數組?
如何通過引用在ArrayMarkers元素上運行?
嘗試:
var ArrayMarkers = [];
var myMarker = new OpenLayers.Marker(new OpenLayers.LonLat(0,0),icon);
markers.addMarker(myMarker);
ArrayMarkers.push(myMarker);
基本上,JavasScript通常使用引用來傳遞對象。 您已經將引用傳遞給庫了。 您可以使用相同的技術。
在JavaScript中,您不能選擇按引用值推送變量...這是根據變量類型自動完成的。
我猜您的標記是對象。 因此,它們將通過引用推入數組。 id是String,它們將按值推送。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.