Continuăm să ne familiarizăm cu caracteristicile versiunii 2.x API Yandex.Map (vezi părțile 1. 2. 3).
În această notă, pe exemple, ne vom familiariza cu posibilitățile de construire a rutelor de automobile.
Primul exemplu, rezolvă problema cea mai tipică pentru site-urile organizațiilor, calculul rutei spre biroul ei.
Luați în considerare lucrarea exemplului.
Voi explica codul sursă al exemplului.
Făcând clic pe butonul "Find", se numește o funcție în care sunt determinate valorile câmpurilor din formularul search_route începutul și sfârșitul traseului.
Aceste valori sunt transferate către ruterul ymaps.route și, ca parametru suplimentar, mapStateAutoApply: true - pentru poziționarea automată a hărții, după construirea rutei.
Apoi, verificăm dacă ruta construită anterior există sau nu pe hartă, dacă da, o ștergem din hartă și apoi adăugăm un nou traseu cu comanda myMap.geoObjects.add (traseu);
Dacă apar erori în timpul construcției rutei, le afișăm într-o fereastră pop-up.
La construirea unui traseu, este posibil să specificăm parametri suplimentari, cu unul dintre aceștia, mapStateAutoApply, pe care deja i-am întâlnit-o.
Voi enumera parametrii rămași:
avoidTrafficJams - valori adevărate - construiți un traseu în minte, false - fără a ține seama de blocajele de trafic. Atunci când utilizați opțiunea, luați în considerare faptul că nu este întotdeauna posibilă deturnarea blocajelor.
Valoarea implicită este falsă;
Aici, codul exemplu este similar cu cel precedent, cu excepția a doi parametri:
boundedBy: [[56.155974,43.549068], [56.421028,44.155787]] - specifică limitele regiunii;
strictBounds: true - capacitatea de a căuta numai în zona specificată.
Putem specifica puncte intermediare pentru traseul nostru.
În acest exemplu, între punctele de început și sfârșit, adăugăm un punct intermediar la pătrat. Lenin
Apoi, atunci când se calculează un traseu, acesta va trebui întotdeauna să treacă printr-un punct de tranzit.
Dacă doriți, putem schimba stilul de afișare al traseului pe hartă în diverse moduri, precum și denumirea începutului și sfârșitului traseului.
Aici vom schimba pictogramele în roșu și vom adăuga text pe etichete și, de asemenea, vom schimba culoarea afișării rutei înseși și a transparenței acesteia.
Culoarea și amploarea transparenței rutei sunt specificate în linie
Mai multe linii de cod sunt responsabile pentru schimbarea stilului punctelor finale ale traseului:
// Utilizare getWayPoints () metoda pentru a obține o matrice de waypoint // (array puncte de rută de tranzit pot fi obținute prin utilizarea metodei getViaPoints) puncte var = route.getWayPoints (); // Setați stilul etichetei - pictogramele vor fi roșii și / / imaginile lor vor fi întinse sub punctele content.options.set ('preset', 'twirl # redStretchyIcon'); // Setați conținutul etichetelor în punctele de început și de terminare points.get (0) .properties.set ('iconContent', 'Point of Origin'); points.get (1) .properties.set ("iconContent", "Punct de sosire");
Putem înlocui cu ușurință icoanele standard cu ale noastre.
Aici am stabilit stilurile pentru imaginea noastră: