Composant Delphi / Google Maps / OpenStreetMap / Leaflet  / Mappilary / Native Maps 100% Delphi 0% WebBrowser 0% Javascript

Import/Export

Vous êtes ici :TECMap

TECMap permet d'enregistrer et de recharger la totalité de ses données dans un simple fichier texte, cela comprend non seulement les paramètrages du composant et des vues mais aussi les données cartographiques des overlays

Vous pouvez aussi importer/exporter vos données aux formats GPX, KML et GeoJSON mais dans ces formats seules les données géographiques sont exploitées.

Sauvegarde/Restauration

function SaveToFile(const filename:string):boolean;

Enregistre la carte dans un fichier texte.

Utilisez les extensions .gpx , .kml et .json pour spécifier un format, autrement c'est le format interne d'ECMap qui sera employé

function LoadFromFile(const filename:string):boolean;

Charge la carte avec un fichier texte

Utilisez les extensions .gpx , .kml et .json pour spécifier un format, autrement c'est le format interne d'ECMap qui sera employé

 

LoadFromFile peut télécharger les fichiers sur internet

15

 

property toGPX : string;

Propriété en lecture/écriture qui donne accès aux données de la carte dans le format GPX.

Cette propriété est utilisée par SaveToFile, LoadFromFile.

property toTxt : string;

Propriété en lecture/écriture qui donne accès aux données de la carte dans un format texte.

Cette propriété est utilisée par SaveToFile, LoadFromFile.

property ToKml : string;

Propriété en lecture / écriture qui retourne les overlays (tous sauf les Labels) au format Kml

Cette propriété est utilisée par SaveToKmlFile

EarthView permet l'import/export KML dans un format plus complet

property ToGeoJSON : string;

Propriété en lecture / écriture qui retourne/importe les overlays (juste les markers, les polylines, les polygones, les cercles et les rectangles) au format GeoJSON

L'affection d'une valeur à toTxt, ToKml, ToGpx, ToGeoJSON ou le chargement d'un fichier par LoadFromFile provoque les évènements OnBeforeChangeToTxt et OnAfterChangeToTxt, le premier à lieu juste avant le changement de valeur et le second juste après.

OnLoadOverlay est aussi déclenché après l'ajout de chaque overlay (marker, polyline, polygone...) cela peut vous permettre d'ajuster les propriétés pendant le chargement des données.

Vous pouvez stopper le chargement en basculant StopLoadOverlay à true


// Delphi map component ECMap
//
procedure TFormDemoECMap.mapLoadOverlay(sender: TObject; const Index: Integer; const OverlayType: TOverlayType);
begin

case OverlayType of

ovMarker : begin
// override data marker
map.markers[index].name := 'your data';
end;

ovLine : begin
// override data Polyline
map.Polylines[index].Color := clBlue;
map.Polylines[index].Update;
end;

...

end;

// stop if too many markers
map.StopLoadOverlay := map.Markers.Count>3000;
end;

Paramètrage import/export

Lorsque vous importez/exportez au format texte, par défaut l'ensemble des données le sont, que cela soit les paramètres de la carte (type d'api, position etc) ou les overlays (markers, circles, routes etc).

De même que lors d'une importation les anciens overlays sont remplacés par les nouveaux.

La propriété ToTxtType vous offre un certain contrôle.

// Delphi map component ECMap

// valeur par défaut,
// importe/exporte tout (map+overlay)
// remplace l'ancien contenu par le nouveau
map.toTxtType := [ttaMap,ttaOverlays,ttaReplace];

// importe/exporte tout (map+overlay)
// ajoute les nouveaux overlays à ceux déjà existant
map.toTxtType := [ttaMap,ttaOverlays];

// importe/exporte uniquement les paramètres de la carte
map.toTxtType := [ttaMap];

// importe/exporte uniquement les overlays
map.toTxtType := [ttaOverlays];

format texte

chaque partie est découpée en section, les données sont nommées et n'ont pas besoin d'être dans un ordre particulier.

Pour les overlays chaque ligne correspond aux données d'un élément (un marker, un cercle etc)

Exemple de carte

[map]
draggable=true
draggablecursor=CrossHair
draggingcursor=
enableuicontrol=true
maptypecontrol=false
navigationcontrol=true
scalecontrol=false
zoomcontrol=true
mobilesenabled=true
latitude=43.2318637451068
longitude=0.0860298080261312
maptypeid=ROADMAP
maptypecontrolstyle=DEFAULT
maptypecontrolposition=TOP_RIGHT
navigationstyle=DEFAULT
navigationposition=TOP_LEFT
scalestyle=DEFAULT
scaleposition=BOTTOM_LEFT
zoomstyle=DEFAULT
zoomposition=TOP_LEFT
title=démo tarbes composant google map
zoom=15
[markers]
adress=;cursor=;icon=http://google-maps-icons.googlecode.com/files/home.png;shadow=;title=home;animation=BOUNCE;name=;icon.width=32;icon.height=37;icon.top=0;icon.left=0;icon.anchor.x=16;icon.anchor.y=37;shadow.width=59;shadow.height=32;shadow.top=0;shadow.left=0;shadow.anchor.x=16;shadow.anchor.y=32;alt=314.2731018;lat=43.2348454;lng=0.0756332;infowindow=-1;zindex=0;tag=0;clickable=true;draggable=true;dragging=false;flat=true;visible=true
adress=;cursor=;icon=;shadow=;title=classic;animation=;name=;icon.width=32;icon.height=32;icon.top=0;icon.left=0;icon.anchor.x=16;icon.anchor.y=32;shadow.width=59;shadow.height=32;shadow.top=0;shadow.left=0;shadow.anchor.x=16;shadow.anchor.y=32;alt=-9999;lat=45.7130572617061;lng=0.776228114733059;infowindow=-1;zindex=0;tag=0;clickable=true;draggable=true;dragging=false;flat=false;visible=true
adress=;cursor=;icon=http://maps.google.com/mapfiles/kml/pal4/icon40.png;shadow=;title=nuage;animation=;name=;icon.width=32;icon.height=32;icon.top=0;icon.left=0;icon.anchor.x=16;icon.anchor.y=32;shadow.width=59;shadow.height=32;shadow.top=0;shadow.left=0;shadow.anchor.x=16;shadow.anchor.y=32;alt=335.1564026;lat=43.2336125285346;lng=0.0755495857201656;infowindow=0;zindex=0;tag=0;clickable=true;draggable=true;dragging=false;flat=true;visible=true
adress=;cursor=;icon=http://google-maps-icons.googlecode.com/files/cycling.png;shadow=;title=Velo;animation=;name=;icon.width=32;icon.height=37;icon.top=0;icon.left=0;icon.anchor.x=16;icon.anchor.y=37;shadow.width=59;shadow.height=32;shadow.top=0;shadow.left=0;shadow.anchor.x=16;shadow.anchor.y=32;alt=316.4778442;lat=42.8695665637582;lng=-0.112703923657986;infowindow=-1;zindex=0;tag=0;clickable=true;draggable=true;dragging=false;flat=true;visible=true
[infowindows]
content=<h1>Nuage</h1><br>Image locale;anchor=2;maxwidth=0;zindex=0;lat=43.2336125285346;lng=0.0755495857201656;open=false
[routes]
startlat=43.23443;startlng=0.0737;endlat=43.24342;endlng=0.09581;wplat0=43.241668;wplng0=0.072025;travelmode=DRIVING;avoidhighway=false;avoidtolls=false;draggable=true;color=12615680;opacity=50;weight=5;zindex=1;name=Tarbes / Aureilhan;marker.icon=http://maps.google.com/mapfiles/ms/micons/blue-pushpin.png;marker.visible=true;marker.clickable=true;marker.flat=false
startlat=43.23313;startlng=0.07419;endlat=43.22849;endlng=0.10676;travelmode=DRIVING;avoidhighway=false;avoidtolls=false;draggable=true;color=33023;opacity=50;weight=5;zindex=1;name=Tarbes / Séméac;marker.icon=http://www.visual-case.it/vc/pics/casetta_base.png;marker.visible=true;marker.clickable=true;marker.flat=false
startlat=43.23481;startlng=0.07882;endlat=48.85631;endlng=2.35001;travelmode=DRIVING;avoidhighway=true;avoidtolls=false;draggable=true;color=32768;opacity=50;weight=5;zindex=1;name=Tarbes / Paris;marker.icon=http://maps.google.com/mapfiles/ms/micons/purple-pushpin.png;marker.visible=true;marker.clickable=true;marker.flat=false
startlat=43.00821;startlng=-0.09972;endlat=42.85121;endlng=-0.13994;travelmode=DRIVING;avoidhighway=false;avoidtolls=false;draggable=true;color=4868863;opacity=50;weight=5;zindex=1;name=Pont d'espagne;marker.icon=;marker.visible=true;marker.clickable=true;marker.flat=false
[mobiles]
0
distance=148;marker=2;route=1;speed=60;segment=2;mobile=true;direction=endstart
distance=338133;marker=1;route=2;speed=130;segment=2272;mobile=true;direction=startend
distance=21139;marker=3;route=3;speed=30;segment=329;mobile=true;direction=startend
[streetview]
latitude=-1
longitude=-1
visible=false
heading=140
pitch=10
zoom=1
navstyle=DEFAULT
navposition=TOP_LEFT
adrposition=TOP_LEFT
navcontrol=true
adrcontrol=true
closebtn=true
link=true
[polylines]
color=255;opacity=50;weight=5;zindex=1;latlng=43.2287477339158,0.0730968322387859,43.2326562567397,0.0736118163696453,43.2319683748977,0.0758863296142742,43.2296858022526,0.0752855147949383,43.2293731144111,0.0766588058105633;visible=true;clickable=true;geodesic=false;
[polygones]
color=16744448;opacity=80;weight=5;zindex=1;latlng=43.2392845896161,0.074169715844743,43.2389094105985,0.0777316894165203,43.236752086419,0.0775600280395672,43.2368146186294,0.0745130385986492;visible=true;clickable=true;geodesic=false;fillcolor=12615680;fillopacity=50
[circles]
color=16384;opacity=80;weight=3;zindex=1;latlng=43.2348454,0.0756332;visible=true;clickable=true;geodesic=true;fillcolor=32768;fillopacity=50;radius=127
[rectangles]
[labels]


Import/Export des overlays

Les overlays disposent eux aussi de propriété toTxt permettant l'importation et l'exportation, que cela soit au niveau de leur liste (Markers, Routes etc) que de l'élément lui même.

Au niveau des listes l'importation est obligatoirement un ajout, il n'est pas tenu compte de la propriété toTxtType qui n'est prise en charge qu'au niveau global.

// Delphi map component ECMap
// add circle by txt
map.Circles.toTxt := 'color=16384;opacity=80;weight=3;zindex=1;latlng=43.2348454,0.0756332;visible=true;clickable=true;geodesic=true;fillcolor=32768;fillopacity=50;radius=127';

Lorsque vous utilisez toTxt au niveau des overlays vous ne devez pas indiquer la section, toutes les propriétés ne sont pas nécessaire, les absentes auront des valeurs par défaut.

5
Aller à la page
Composant Delphi / Google Maps / OpenStreetMap / Leaflet  / Mappilary© 2016 ESCOT-SEP Christophe - Réalisé avec Help&Web - RSS - RSS - Google+