0

Googleマーカーを使用して緯度と経度の値を取得し、オープンレイヤーマーカーを使用してGoogleプレイスマーカーを表示していますここにコードの一部があります

function googleMarker(name, lat, lng, address, types, iconImage)
{       
    var nameLength = name.length;       
    nameLength = nameLength+120;
    var lonLat = new OpenLayers.LonLat( lng ,lat ).transform(new OpenLayers.Projection("EPSG:4326"),map.getProjectionObject());                         
    trackMarkers = new OpenLayers.Layer.Markers("Markers");
    var size = new OpenLayers.Size(20, 20);
    var offset = new OpenLayers.Pixel(-(size.w / 2), -(size.h / 2));                        
    var icon = new OpenLayers.Icon(iconImage, size, offset);                                        
    map.addLayer(trackMarkers);
    trackMarker = new OpenLayers.Marker(lonLat, icon);
    trackMarkers.addMarker(trackMarker);        

    trackMarker.events.register('click', trackMarker, function(evt) 
    {   
        popup = new OpenLayers.Popup.FramedCloud("featurePopup",lonLat, null,'<div style="color:#FF0000;">'+name+","+address + '</div>', null, null);                                       
        map.addPopup(popup);                                    
    });         
}

これが解析され、開いているレイヤーに投影されたものです。私が直面している問題は、次のマーカーを選択してマップをクリックする前に、以前に有効にしたポップアップを削除する方法です。

ここに画像の説明を入力

4

1 に答える 1