OpenLayers:向标记添加(css-)类?

标签 openlayers addclass

你好!
我想为 OpenLayers map 上的每个标记添加一个唯一的 (css-) 类,但我不知道如何!我几乎尝试了所有方法,并将这个问题发布在 forums of 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 图标本来就不是 HTML 元素,但您可以访问在 map 上绘制时成为图标一部分的 HTML 元素:http://dev.openlayers.org/docs/files/OpenLayers/Icon-js.html#OpenLayers.Icon.imageDiv (这不是我使用 www.openlayers.org 上 api 文档的第一个链接时出现的情况,很奇怪)所以人们可能会像这样解决这个问题:

icon.imageDiv.className += " my_icon_class";

关于OpenLayers:向标记添加(css-)类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15561988/

相关文章:

javascript - Openlayers 在 map 上方添加自定义 div

javascript - 如何在 openLayer map 中加载本地 gpx 文件?

android - 如何在 Android 上显示自定义 map

javascript - 使用 jquery append 到类属性

javascript - 如何使用 Web 中的 API 将 .txt 转换为 .gpx 或获取 GPX 导出?

javascript - 有没有办法在 OpenLayers 3 中禁用旋转?

jquery - 由 jQuery 触发的过渡时 Chrome 闪烁

jQuery 在子文件夹内的菜单上添加类 .active

jquery addClass - 等待、延迟、速度、超时或其他

javascript - 根据表的第一行和表的第一列中的类向表的行和类添加类