Crearea de hărți proprii, folosind API-ul - divertisment web-cartografie

Mulți oameni se întreabă cum puteți utiliza API-ul Yandex.Maps pentru a crea propriile hărți?

Câteva note pe blogul său, voi discuta această problemă în detaliu.







Pentru a crea propriile hărți există o clasă specială YMaps.MapLayer. care este proiectat pentru a crea un strat personalizat cu cardul.

Acesta specifică sursa de date pentru stratul harta folosind clasa YMaps.TileDataSource.

Constructorul acestei clase ia următorii parametri:

tileUrlTemplate - un șablon pe care să construiască o adresă URL țiglă;

isTransparent - Descarcat dale sunt transparente;

isPng - dale de imagine care pot fi descărcate sunt png.

Și astfel, la început, datele trebuie să fie pregătite pentru a crea propriile straturi ale hărții.

Sursa necesitatea de a utiliza un bitmap reprezentat în mai multe scale, fiecare dintre care este tăiat în bucăți de dimensiuni 256 de 256 pixeli.

Fișierele cu feliile de imagine pentru a redenumi corespunzător. cum ar fi țiglă-zum-num.jpg

Există zum - nivel de scară, num - numărul de titlu în ordine.

Vă voi arăta cum puteți construi imaginea în interfața de gestionare a Yandex.Maps pe un anumit exemplu.

Ca o imagine folosesc o fotografie a masinii dimensiunea Porsche Cayenne de 1600x1200 pixeli.

Utilizați acest serviciu foarte usor.

După ceva timp (durata depinde de dimensiunea imaginii încărcate) vezi pagina cu imaginea încărcată în interfața Google Maps.

Și cele trei legături din partea de jos a imaginii.







De exemplu meu, acestea sunt după cum urmează:

În cazul meu, conținutul fișierului:

Acum trebuie să scrie cod pentru a descărca titluri stabilite în interfața Yandex.Maps.

Aici este codul de exemplu:

Exemplele YMapsML. cartea de folosind serviciul Gmap Uploader.

harta = new YMaps.Map (document.getElementById ( «YMapsID»));

myData.getTileUrl = funcție (țiglă, zoom)

întoarce this.getTileUrlTemplate () + «tile-» + zoom + «-» + (tile.y * Math.pow (2, zoom) + tile.x) + «.jpg»;

Voi explica ce ar trebui să acorde o atenție aici.

Linia map.setCenter (nou YMaps.GeoPoint (0,0), 1); specificate centru hartă la primul nivel la scară.

Am stabilit regulile pentru formarea unui nume de fișier la un anumit titlu cu privire la nivelul adecvat de scară.

Și map.setType (nou YMaps.MapType ([nou YMaps.MapLayer (MYDATA)],) 'Exemplul carte') linie; pentru a specifica un nou tip de card cu numele exemplul de card, în același loc, am introdus o limită la nivelul de zoom de la 1 la 3.

Încărcarea exemplu într-un browser și urmăriți rezultatele

Crearea de hărți proprii, folosind API-ul - divertisment web-cartografie

Vezi exemplu în acțiune aici.

Mesaj de navigare

Care este codul de probă nu funcționează, și cu atât mai mult te uiți proprietatea de imagine?

Și cum se poate determina coordonatele pe o hartă? Vreau să identifice unele dintre obiectele de pe harta lui a orașului, cu ajutorul unui gmapupload.com rupt

Păstrați ultima întrebare. Cum de a determina coordonatele hărții care este încărcat ??

Spune-mi, în harta așa-creată, puteți cumva punctul de a pune o descriere a obiectului?

Tag-uri descriere posibil pentru a pune un mod convențional, ca Harta construit folosind Yandex.Maps API. Singura problemă - koordinaty.Tsentr este situat la coordonatele 0,0. Este necesar să se recalculeze coordonatele.

Vă mulțumim! Foarte util.