簡體   English   中英

使google map api v2 addDomListener在IE中工作

[英]make google map api v2 addDomListener work in IE

我在使用Google Map API v2時遇到了一些麻煩。 我想要的是能夠用鼠標移到工具提示上。 下面是我的代碼。 在firefox作品中,但我必須將鼠標非常緩慢地移到工具提示上,如果我快一點的話,它會隱藏起來(解決:在mouseout功能上添加了延遲,並檢查是否觸發了工具提示)和最糟糕的部分它根本不會在IE中扭曲。 如果我越過關鍵點,我將能夠看到工具提示,但不能將鼠標放在它上面。

function createHotelSearchMarker(point, number, message) {
    var newIcon = new GIcon(G_DEFAULT_ICON);
    wIcon.image = imageChart + "chst=d_map_spin&chld=0.5|0|CCCCCC|10|_|" + number + "&ext=.png";
    var marker = new GMarker(point, {icon: newIcon, clickable:true, zIndexProcess:importanceOrder});
    marker.importance = 1;  
    /*add listener for mouseover*/
    GEvent.addListener(marker, "mouseover", function() {
        marker.openExtInfoWindow(
            map,
            "mapInfoWindow",
            "<div id='tooltip'>" + message + "</div>",
            {beakOffset: 3}
        );
        marker.setImage(imageChart + "chst=d_map_spin&chld=0.5|0|FF0000|10|_|" + number + "&ext=.png");
        marker.importance = 2;
        marker.setLatLng(marker.getLatLng());

        /*i added a dom listener for the tooltip*/
        if(document.getElementById("tooltip") != null) {

            GEvent.addDomListener(document.getElementById("tooltip"), "mouseover", function(){
                isFiredByDivListener = 1;
                GEvent.trigger(marker,"mouseover");
            });

            GEvent.addDomListener(document.getElementById("tooltip"), "mouseout", function(){
                isFiredByDivListener = 0;
                GEvent.trigger(marker,"mouseout");
            });
        }
    });

    /*add a listener for mouse out*/
    GEvent.addListener(marker, "mouseout", function() {
        map.closeExtInfoWindow();

        marker.setImage(imageChart + "chst=d_map_spin&chld=0.5|0|CCCCCC|10|_|" + number + "&ext=.png");
        marker.importance = 1;
        marker.setLatLng(marker.getLatLng());

    });
    return marker;
    }

the marker will be return and 


if (marker != null){
                map.addOverlay(marker);
            }

謝謝您的幫助和時間

在我看來,這種情況一直在發生,即潛在的問題,您可以遞歸觸發標記鼠標懸停。 我建議將兩個addDomListener事件偵聽器移到標記的事件偵聽器之外。

GEvent.addListener(marker, "mouseover", function() {
        ...
            GEvent.addDomListener(document.getElementById("tooltip"), "mouseover", function(){
                GEvent.trigger(marker,"mouseover");
            });

暫無
暫無

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

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