Servisin adı |
İnternet saytın səhifəsinə interaktiv GoMap.Az xəritəsinin əlavə olunması |
Servisin təsviri |
Bu servis vasitəsilə miqyaslana və brauzerin pəncərəsində hərəkət edə bilən, GoMap xəritəsinin əks olunmasına imkan verən sadə veb-səhifənin yaradılması imkanlarının göstərilməsi mümkündür. |
Təqdim edən qurum |
Mədəniyyət Nazirliyi |
Kateqoriya |
Nəqliyyat və kommunikasiya
Mədəniyyət və istirahət
|
Açar sözlər |
icazə
rabitə
|
Yaranma tarixi |
16.07.2015 |
Yenilənmə tarixi |
16.07.2015 |
API Nümunə |
İstifadə məlumatları
|
Verilmiş nümunənin məqsədi, miqyaslana və brauzerin pəncərəsində hərəkət edə bilən, GoMap xəritəsinin əks olunmasına imkan verən sadə veb-səhifənin yaradılması imkanlarının göstərilməsidir.
Rekvizitlər
Nümunədə http://openlayers.org (yeni pəncərədə açılır) saytında təsvir olunmuş OpenLayers kitabxanasından istifadə olunur.
GoMap.Az və Openlayers API –nin sadə istifadəsi
Verilmiş nümunə, GoMap.Az və Openlayers API -ə əsaslanan sadə xəritəni yaratmağa imkan verir. Hazır nümunə burada yerləşir (yeni pəncərədə açılır).
<head> bölməsinə:
<script src="http://openlayers.org/api/2.12/OpenLayers.js"></script>
JavaScript –ini qoşmaq lazımdır.
Həmçinin, <head> bölməsində xəritə obyektini saxlayacaq var map; qlobal dəyişənini yaratmaq lazımdır. Xəritəni inisializasiya edəcək init() funksiyası da bura əlavə edilir. Init() funksiyasında, ilk növbədə xəritəni yaradaq. Eyni zamanda, nəzərə almaq lazımdır ki, xəritənin əks olunması üçün <body>bölməsində yerləşən <div id="map"> regionu istifadə olunacaqdır. Proyeksiya, koordinatlar (ölçülər) sistemi vahidləri və göstərilmə sahələrinin sərhədləri, aşağıdakı nümunəyə uyğun olaraq qoyula bilər:
map = new OpenLayers.Map({
div: "map",
projection: new OpenLayers.Projection("EPSG:900913"),
units: "m",
restrictedExtent: new OpenLayers.Bounds(4400000, 4600000, 5700000, 5500000) });
Xəritənin əks olunma proyeksiyasını qoyuruq:
map.displayProjection = new OpenLayers.Projection("EPSG:4326");
GoMap.Az xəritəsinin laylarını yaradırıq. GoMap.Az xəritəsinin layları OSM (OpenStreetMap) laylarına oxşar işləyir. Bu zaman OpenLayers kitabxanasının idarə edilməsi üçün üç - x, y, z parametrləri ötürülür, burada z – miqyasın dərəcəsini göstərir. lng parametri xəritənin yazı dilini verir ( az, en, ru ). f parametri - xəritənin fraqmentləri formatını göstərir.
var gomapLayer = new OpenLayers.Layer.OSM(
"GoMap.Az", "http://maps.gomap.az/info/xyz.do?lng=az&x=${x}&y=${y}&z=${z}&f=jpg", { “buffer”: 0, attribution: "(c) <a href=“http://gomap.az/”>GoMap.Az</a>",
tileOptions: { crossOriginKeyword: null },
transitionEffect: “resize”,
zoomOffset: 7,
numZoomLevels: 12,
maxResolution: 1222.99245234375
});
Yaradılmış layı map xəritəsinə əlavə edirik:
map.addLayers([gomapLayer]);
Yekunda, xəritənin mərkəzini və miqyasın dərəcəsini göstəririk, hansı ki, səhifənin ilk açılışı zamanı xəritənin əks olunması rejimini qoymağa imkan verir.
map.setCenter(new OpenLayers.LonLat(5551660.2717726,4921653.5202719), 5);
Səhifənin ilk açılışı zamanı init() funksiyasının işləməsi üçün, onu <body> bölməsinin sonunda çağırırıq:
<script type="text/javascript"> init(); </script >
Göstərilən nümunə, xəritənin 1 layı ilə işləməyə imkan verir. Daha sonra, GoogleMaps layının əlavə olunması və 2 lay ilə iş təsvir olunur.
Bu nümunədə isə GoMap.Az API köməyi ilə koordinatdan ünvanın əldə olunması göstəriləcək. Nümunə ilə buradan tanış ola bilərsiniz. (yeni pəncərədə açılır) GoMap.Az-ın əlavə servislərindən istifadə etmək üçün səhifəyə javascript faylı əlavə edilir:
<script src="http://maps.gomap.az/api/js/services.1.0.js"></script>
1) API-dən istifadə etmək üçün Az.GoMap.Service.RGeo(longitude, latitude, zoom, lng, callback) funksiyası çağırılır.
Funksiyanın parametrləri:
longitude, latitude – nöqtənin koordinatları
zoom – miqyas (1-18 arası)
lng - nəticənin dili (az, en, ru)
callback – nəticələr geri veriləndə bu funksiya çağırılacaq və birinci parametrdən ünvanı əldə edə bilərsiniz.
Numunədə aşağıdakı argumentlər göndərilərək işləməsi yoxlanılmışdır
Az.GoMap.Service.RGeo(lonlatD.lon, lonlatD.lat, map.getZoom(), "az", function(address) { document.getElementById("info").innerHTML = address; });
2) Javascriptdən başqa, bu xidmətdən maps.gomap.az/api.do adresinə sorğu göndərməklə də istifadə etmək olar.
Sorğu aşağıdakı kimi tərtib olunmalıdır:
http://maps.gomap.az/info/api.do?cm=rgeo&cx=49.833963210198&cy=40.373491130916&cz=16&lng=az
Burada,
cm - komandanın adıdır. Bizim sorğumuz üçün rgeo olacaq
cx, cy - ünvanı təyin etmək istədiyiniz məntəqənin koordinatları
cz - miqyas (1-18 arası)
lng - nəticələri əldə edəcəyiniz dil (az, en, ru ola bilər)
Sorğuya cavab olaraq sizə adres göndəriləcəkdir. Bu adres küçə, ev nömrəsi və ya küçə formasında ola bilər.