[英]OpenLayers: Adding a (css-)class to a marker?
G'day!
我想为OpenLayers地图上的每个标记添加一个唯一的(css-)类,但是我不知道如何! 我几乎尝试了所有事情,并且还在OpenStreetMap的论坛上发布了这个问题(因为那里的人对OpenLayers相当熟悉)。
这是我编写的用于添加标记的功能:
function ownMarker(lon,lat,icon,markerid) { var size = new OpenLayers.Size(38,58); var offset = new OpenLayers.Pixel(-(size.w/2), -size.h); var element = new OpenLayers.Element.addClass('div', 'test'); var icon = new OpenLayers.Icon('images/marker/'+ icon +'.png', size, offset); var marker = new OpenLayers.Marker((new OpenLayers.LonLat(lon, lat).transform(proj4326, projmerc)),icon) marker.id = markerid; marker.events.register("mousedown", marker, function() { if(this.id != 'home') { currentID = this.id; $('.activeResult').removeClass('activeResult'); $('#results a[href$=' + this.id + ']').addClass("activeResult"); showContent($(".nav a:first-child").attr("href")); $(".nav a:first-child").addClass("activeContent") if(contentOpen == false){ $("#container").show(); $(".frame").animate({left: 0}); contentOpen = true; } tempLatitude = $('#results a[href$=' + this.id + ']').attr("lat"); tempLongitude = $('#results a[href$=' + this.id + ']').attr("lon"); targetLatitude = $('#results a[href$=' + this.id + ']').attr("lat"); targetLongitude = $('#results a[href$=' + this.id + ']').attr("lon"); ownPanTo(tempLongitude, tempLatitude); console.log(this.id); } }); markers.addMarker(marker); }
正如您在第5行中看到的那样,我已经尝试将类添加到标记中-没有成功!
请帮我! :)
干杯!
也许答案太明显了:OpenLayers Icon首先不是HTML元素,但是您可以访问在地图上绘制时将成为Icon一部分的HTML元素: http : //dev.openlayers.org /docs/files/OpenLayers/Icon-js.html#OpenLayers.Icon.imageDiv (这不是我使用www.openlayers.org上的api文档的第一个链接时出现的,很奇怪)所以有人可以解决这个问题这样的问题:
icon.imageDiv.className += " my_icon_class";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.