3

こんにちは!
OpenLayers マップのすべてのマーカーに一意の (css-) クラスを追加したいのですが、方法がわかりません! 私はほとんどすべてを試し、この質問を OpenStreetMapのフォーラムにも投稿しました(向こうの人たちは OpenLayers にかなり精通しているため)。
これは、マーカーを追加するために私が書いた関数です:

    function ownMarker(lon,lat,icon,markerid) {
        var size = 新しい 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 マーカー = 新しい OpenLayers.Marker((新しい OpenLayers.LonLat(lon, lat).transform(proj4326, projmerc)),icon)
        マーカー.id = マーカーID;
        marker.events.register("mousedown", マーカー, function() {
            if(this.id != 'ホーム') {
                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({左: 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);
            }
        });
        マーカー.addMarker(マーカー);
    }

5行目でわかるように、私はすでにクラスをマーカーに追加しようとしましたが、成功しませんでした!

私を助けてください!:)

乾杯!

4

1 に答える 1

0

おそらく答えはあまりにも明白です: OpenLayers アイコンはそもそも HTML 要素ではありませんが、マップ上に描画されたときにアイコンの一部になる HTML 要素にアクセスできます: http://dev.openlayers.org /docs/files/OpenLayers/Icon-js.html#OpenLayers.Icon.imageDiv (これは、www.openlayers.org の API ドキュメントへの最初のリンクを使用したときに出てくるものではありません)このような問題:

icon.imageDiv.className += " my_icon_class";
于 2013-11-21T16:09:24.647 に答える