1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
function loadKML(aNomCouche, aNomFichierKML, aLongitude, aLatitude, aNiveauZoom)
{
var element = aNomFichierKML;
if (map)
{
var LonCourant = parseFloat(aLongitude)
var LatCourant = parseFloat(aLatitude)
var NiveauZoom = parseInt(aNiveauZoom)
var CoucheKMLDirecte = null;
map.getMap().setCenterAtLonLat(LonCourant, LatCourant, NiveauZoom);
map.getMap().addControl(new OpenLayers.Control.LoadingPanel());
// #TODO1 - A ENLEVER MAIS RESTE TANT QUE PROBLEMES DE PERFORMANCES
if (IsIE)
{
IsAffichageEtiquette = false;
}
CoucheKMLDirecte = map.getMap().addLayer("KML", aNomCouche, aNomFichierKML,
{
buffer: 0,
visibility:IsVisibiliteImmediate,
opacity:true,
view:{
drop:true,
zoomToExtent:true
},
extractAttributes:true,
extractStyles: IsExtractionStyles,
preFeatureInsert:function(f)
{
if (f)
{
if (VersionBeta == 4)
{
f.style= OpenLayers.Util.applyDefaults({cursor:'help'}, f.style);
}
else
{
// Voir pour : OpenLayers.Rule --> minScaleDenominator et maxScaleDenominator
// default Geoportal API : cursor pointer on hover ...
// Geoportal.Popup.Anchored.setPointerCursorForFeature(f);
Geoportal.Popup.setPointerCursorForFeature(f);
// Voir http://code.google.com/intl/fr/apis/kml/documentation/kmlreference.html#labelstyle
if (IsAffichageEtiquette)
{
OpenLayers.Util.extend(f.style, {
label: f.attributes.name,
labelAlign: "rb",
// Suite application patch 2312
labelXOffset: labelXOffset,
labelYOffset: labelYOffset,
fontColor: "black",
fontWeight: "bold",
fontSize: fontSize,
// Permet d'avoir une couleur de fond pour les étiquettes
backgroundGraphic:"./images/BarreBlanche.png",
backgroundHeight : 10,
backgroundWidth : (f.attributes.name.length*8),
backgroundXOffset : -(f.attributes.name.length*8),
backgroundYOffset : -19,
fontFamily: "Arial"
});
}
}
}
},
attribution:"fourni par xxx",
minZoomLevel : MinZoomLevelCarto,
maxZoomLevel : MaxZoomLevelCarto,
originators:[
{
pictureUrl:'./images/logo_xxx50x50.png',
url: 'http://www.xxx.net'
}
]
}
);
if (IsVisibiliteImmediate==false)
{
setTimeout(OpenLayers.Function.bind(function(){this.setVisibility(true);},CoucheKMLDirecte), DelaiAffichageCouche);
}
selectControl = new OpenLayers.Control.SelectFeature(CoucheKMLDirecte,
{onSelect: onFeatureSelect, onUnselect: onFeatureUnselect});
map.getMap().addControl(selectControl);
selectControl.activate();
}
} |
Partager