Cerere cheie API

Ce este un API şi la ce se poate folosi?

API în limba română este acronimul pentru interfaţă pentru programarea unei aplicaţii (Application Programming Interface). Altfel zis API-ul este un set de „unelte” creat pentru clienţii nostrii cu scopul de a implementa harta MicroMapper împreună cu funcţionalităţile sale în site-urile lor.

 

Ce beneficii/functionalităţi vă oferim prin API?

  • cautare şi căutare avansată

  • rutare

  • listarea hărţii

  • statistici (ex. număr de vizualizare de hartă prin site-ul dumneavoastră) - această parte este în construcţie

  • dorim să recompensăm pe cei care au implementat harta noastră în funcţie de numărul de POI-uri înscrise prin site-urile lor

 

Cum se poate implementa şi personaliza harta prin API?

Pentru ca să vă trimitem cheia API utilizat la implementarea hărţii MicroMapper în site-ul dumneavoastră trebuie să ne specificaţi următoarele două informaţii: nume domain şi adresa de e-mail.

 

Selectaţi tipul hărţii şi proprietăţile de iniţializare al acestuia:





Opţiunea Cerere Cheie API este o opţiune gratuită prin care veţi primi o hartă standard cu puncte de interes (POI-uri) publicitare cu logo-uri.

 

%must-be-logged-in%

În cazul în care doriţi o hartă pe care nu vreţi să apară punctele de interes cu logo-urile publicitare, puteţi cumpăra o cheie API cu o hartă simplă prin butonul Cumpărare cheie API. Această hartă va conţine acelaşi puncte de interes ca şi harta gratuită, numai că ele vor apare cu simbolurile standard.

sus

Variabilele obiectului MicroMapper

Obiectul MicroMapper conţine următoarele variabile, care influenţează paremetrii de afişare şi de funcţionare

MicroMapper = { map, // openlayers map object markers, // vector de markers mouseLat, // poziţia mouse-ului (Latitudine) mouseLong, // poziţia mouse-ului (Longitudine) mouseClickLat, // poziţia mouse-ului la ultimul click (Latitudine) mouseClickLong, // poziţia mouse-ului la ultimul click (Longitudine) zoom, // nivel de zoom actual routeReturnHTML, // traseul planificat va fi stocat într-un container html, sau într-o variabilă routeInformation : 'information', // traseul planificat va apare în acest container, dacă routeReturnHTML este setat la true lastError, // interogarea ultimei erori lastWarning // interogarea ultimei avertizări routeStrokeStyle : {strokeColor: "#0033ff", strokeOpacity: 0.7, strokeWidth: 5}, // culoarea traseului planificat routePositions // vector punctul de start și de destinații calculatedRoute // după apelarea funcţiei de routare aici va apare traseul calculat turns : [ 'http://www.mapdata.ro/images/turn/default.png', 'http://www.mapdata.ro/images/turn/continue.png', 'http://www.mapdata.ro/images/turn/slight-right.png', 'http://www.mapdata.ro/images/turn/turn-right.png', 'http://www.mapdata.ro/images/turn/sharp-right.png', 'http://www.mapdata.ro/images/turn/u-turn.png', 'http://www.mapdata.ro/images/turn/sharp-left.png', 'http://www.mapdata.ro/images/turn/turn-left.png', 'http://www.mapdata.ro/images/turn/slight-left.png', '', 'http://www.mapdata.ro/images/turn/head.png', 'http://www.mapdata.ro/images/turn/round-about.png', '', '', '', 'http://www.mapdata.ro/images/turn/target.png' ], startIcon : { width : 47, height : 47, pixel : [-(47 / 2), -47], icon : 'http://www.mapdata.ro/images/marker-start.png' }, finishIcon : { width : 47, height : 47, pixel : [-45, -45], icon : 'http://www.mapdata.ro/images/marker-finish.png' }, }

sus

Iniţializare

Iniţializarea se realizează de către obiectul "MicroMapper" cu constructorul loadMap([element id]). Specificarea parametrilor nu este obligatorie, dar trebuie definit un element unde se încarcă harta.

În lipsa specificării parametrilor, se va încărca implicit (default) în elementul definit o harta cu id "map". În lipsa unui element definit, se va crea unul în mod automat şi se va incărca harta.

loadMap('map');

sus

Script după iniţializare

După încărcarea hărţii este posibilă apelarea unei funcţii care confirmă că harta este încărcată.

Variabila MicroMapper.mapReady trebuie setat la încărcare şi va fi apelat după încărcarea totală a hărţii

MicroMapper.mapReady = function(){ alert('MicroMapper map is working'); };

sus

Coordonate cursor

Pentru a vedea coordonatele nu trebuie dat click. În variabila "MicroMapper.mouseLat" găsim poziţia pe latitudine, iar în variabila "MicroMapper.mouseLong" găsim poziţia pe longitudine.

Coordonatele sunt în WGS84 (EPSG:4326, coordonate GPS)

MicroMapper.mouseLat;
MicroMapper.mouseLong;

sus

Coordonate click

Pentru a vedea coordonatele trebuie dat click. În variabila "MicroMapper.mouseClickLat" găsim poziţia pe latitudine, iar în variabila "MicroMapper.mouseClickLong" găsim poziţia pe longitudine.

Coordonatele sunt in WGS84 (EPSG:4326, coordonate GPS)

MicroMapper.mouseClickLat;
MicroMapper.mouseClickLong;

sus

Info zoom

Pentru a vedea informaţia referitor la nivelul de zoom nu trebuie dat click. Zoom-ul actual îl găsim în variabila.

MicroMapper.zoom;

sus

Geocodare inversă

MicroMapper.inverseGeocode({Latitude, Longitude, callbackFunction})

În parametri trebuie definiţi un obiect cu "Latitudine", "Longitudine" şi o funcţie care se procesează în finalul inverseGeocoding.

MicroMapper.inverseGeocode({ Latitude : 42.123456, Longitude : 25.123456, function(returned_variable_in_object){ ... code ... } });

returned_variable_in_object = { InLocation : (true dacă adresa este în locaţie, false în alte cazuri), Distance : (distanţa între punctul dat şi adresa găsită), Street : (nume stradă geocodată), Number : (număr al blocului sau a casei geocodate), BlockName : (numele blocului geocodat), BuildType : (tipul clădirii geocodat), Location : (numele oraşului geocodat), County : (numele judeţului geocodat), Country : (numele ţării geocodate) } sau false daca nu a reusit sa face geocodare.

sus

Geocodare 1 (Calcularea poziţiei din adresa selectată)

Poziţiile adresei selectate va fi returnat în coordonate WGS84 (EPSG:4326, GPS).

Funţia de apel este MicroMapper.geoLocate(judetul, localitate, strada, numar, numar bloc, callbackFunction)

MicroMapper.geoLocate( judetul : 'Cluj', localitate : 'Cluj-Napoca', strada : 'Avram Iancu', numar : 14, numar bloc : 'M5', function(returned_variable_in_object){ ... code ... } );

returned_variable_in_object = { lat : (poziţia pe latitudine gasită), long : (poziţia pe longitudine gasită), } sau false daca nu a reusit sa face geocodare.

sus

Geocodare 2 (Calcularea poziţiei din adresă)

Poziţiile adresei selectate va fi returnat în coordonate WGS84 (EPSG:4326, GPS).

Funcţia de apel este MicroMapper.searchAddress(adresa, callbackFunction).

MicroMapper.searchAddress( adresa : 'Cluj-Napoca, str. Avram Iancu, nr. 14, jud. Cluj', function(returned_variable_in_object){ ... code ... } );

returned_variable_in_object = { lat : (poziţia pe latitudine gasită), long : (poziţia pe longitudine gasită), } sau false daca nu a reusit sa face geocodare.

sus

Adăugare marker

MicroMapper.addMarker(lat, long [, icon]).

Se adaugă un marker utilizând poziţia definită în WGS84 (EPSG:4326, GPS).

Parametrul "icon" este opţional, iar dacă nu este definit se încarcă din default.

MicroMapper.addMarker( lat : 42.123456, long : 25.123456, icon : { width : 21, height : 25, pixel : [-(21 / 2), -25], icon : 'http://www.url-to-icon/mark.png', } );

sus

Stergere marker

MicroMapper.cleanMarkers()

Se sterg toate markere existente pe hartă.

sus

Desenarea unui cerc

MicroMapper.drawCircle(lat, long, radius, style)

Se desenează un cerc cu centrul definit prin coordonate WGS84 (EPSG:4326, GPS) și cu raza în metri.

MicroMapper.drawCircle( lat : 42.123456, long : 25.123456, radius : 2500, style : { strokeColor : '#445566', strokeWeight : 2, strokeOpacity : .5, fillColor : '#667788', fillOpacity : .3 } );

sus

Desenarea unui poligon

MicroMapper.drawPolygon(points, style).

Se desenează un poligon prin puncte cu poziţiile definite în coordonate WGS84 (EPSG:4326, GPS).

MicroMapper.drawPolygon( points : [, [42.123456, 25.123456], [42.223456, 25.223456], [42.823456, 25.523456] ], style : { strokeColor : '#445566', strokeWeight : 2, strokeOpacity : .5, fillColor : '#667788', fillOpacity : .3 } );

sus

Stergerea poligoanelor şi cercurilor

MicroMapper.cleanPolygons()

Se sterg toate poligoanele şi cercurile găsite pe harta.

sus

Calcularea limitelor punctelor

MicroMapper.calculateBounds(points)

Se calculează marginile punctelor definite în WGS84 (EPSG:4326, GPS).

MicroMapper.calculateBounds( points : [, [42.123456, 25.123456], [42.223456, 25.223456], [42.823456, 25.523456] ] );

sus

Zoom în marginile punctelor

MicroMapper.zoomToBounds(bound)

Se foloseste impreună cu funcția "MicroMapper.calculateBounds(points)". Această funcție este folosit pentru a mări harta în limitele date.

MicroMapper.zoomToBounds(MicroMapper.calculateBounds( points : [, [42.123456, 25.123456], [42.223456, 25.223456], [42.823456, 25.523456] ] ));

sus

Setarea centrului hărţii

MicroMapper.setCenter(lat, long)

Setarea centrului hărţii cu coordonatele WGS84 (EPSG:4326, GPS)

MicroMapper.setCenter( lat : 42.123456, long : 25.123456, );

sus

Setarea zoom-ului

MicroMapper.setZoom(zoom level)

Setarea nivelului de afişare a hărţii (nivel de zoom).

MicroMapper.setZoom( zoom level : 0 - 14 );


Schimbarea hărţii

MicroMapper.changeLayers(LayerName)

Se poate alege dintre următoarele hărţi de bază: _MM_ROMANIA_FULL_, _MM_ROMANIA_GOOGLE_

MicroMapper.changeLayers(_MM_ROMANIA_FULL_);


Popup

Pe hartă se poate pune un popup în poziţia "LatLong" (WGS84) cu textul în variabila "content"

MicroMapper.customPopup(content, popupid, LatLong);


Adăugare punct de pornire şi de destinaţie

MicroMapper.addRoutingDirection(Lat, Long)

Prima poziţie adăugată este poziţia de pornire, iar ultima este poziţia de destinaţie. Lista cu poziţii este stocată în vectorul "MicroMapper.routePositions".

MicroMapper.addRoutingDirection(45.123456, 25.123456);


Ştergere punct de pornire şi de destinaţie

MicroMapper.removeRoutingDirection(pos)

Ştergerea unui punct de pornire sau de destinaţie din lista de poziţii. Prima poziţie este poziţia de pornire. MicroMapper.routePositions.length (mărimea vectorului) este poziţia de destinaţie.

MicroMapper.removeRoutingDirection(1); // ştergerea poziţiei de pornire MicroMapper.removeRoutingDirection(MicroMapper.routePositions.length); // ştergerea poziţiei de destinaţie


Navigarea

MicroMapper.routing(functionAfterRoute) este o funcţie care calculează traseul.

Funcţia de navigare calculează traseul, returnează rezultatul în variabila MicroMapper.calculatedRoute, şi execută funcţia functionAfterRoute, dacă aceasta a fost definit in prealabil.

MicroMapper.routing(function(){ alert('done'); });


Exportarea hărţii în format PNG

MicroMapper.exportMapPNG(width, height, centerLat, centerLong, zoom)

Prin această funcţie putem exporta harta cu parametrii date. Parametrii "width" şi "height" reprezintă lăţimea şi înălţimea imaginii exportate. Parametrii "centerLat" şi "centerLong" sunt cordonate definite în WGS84. Prin intermediul parametrului "zoom" se poate defini nivelul de afişare (zoom level) a hărţii exportate.

După apelarea funcţiei harta generată va fi oferit către salvare automat prin intermediul browserului.

MicroMapper.exportMapPNG(500, 500, 45.123456, 25.123456, 8);