Pridobite umestitev oznake položaja na zemljevidu Yandex.  Kako dodati podjetje na zemljevide Google in Yandex

Pridobite umestitev oznake položaja na zemljevidu Yandex. Kako dodati podjetje na zemljevide Google in Yandex

Od 1. oktobra 2012 zagnali smo najnovejšo edinstveno storitev na internetu - prikaz naslova na zemljevidu.

To je edina priročna storitev, ki nam je znana in omogoča, da se na zemljevidu zlahka prikaže velik seznam naslovov (na primer iz datoteke EXCEL) in da se ugotovijo geografske koordinate vseh točk.

Ta storitev je izjemno enostavna za uporabo.

Ustvariti morate datoteko z naslovi, kot sledi:

Naslov- naslov v kateri koli obliki zapored, na primer - Sankt Peterburg, Nevski prospekt, 155, stavba 3 ali Nevski 155/3

Naslov mora biti zapisan v prvem stolpcu in nujno v enem stolpcu kot celoti. Če imate naslov v več stolpcih, jih morate samo združiti v enega.

Ime točke (ime točke)- če ga ni, sistem prikaže serijsko številko točke.

Opis- poljubno besedilo - opis točke, se prenese v opis točke na zemljevidu.

Primer polnjenja tabele:


Vsa moč, moč in prednost nove storitve je v tem, da je takšnih naslovov lahko veliko. Sistem obdela vse naslove in prikaže postopek povezovanja naslovov z zemljevidom.

Očitno je, da sistem objektivno ne bo vedno mogel povezati naslovov z zemljevidom. Včasih je nemogoče povezati naslove.

Na primer, ulico Parkovaya najdemo v različnih okrožjih Sankt Peterburga - v Puškinu, Pavlovsku in v drugih okrožjih. Zato je nemogoče vezati in prikazati ulico Parkovaya na zemljevidu Sankt Peterburga, dokler območje ni označeno. Program v procesu vezave naslovov omogoča določanje področij in celo določanje črkovanja naslova.

In seveda program ne bo mogel pravilno povezati naslova, če je napačno določen, na primer "od stojnice na levo za vogalom."

Program prikazuje zavezujoče rezultate v obliki statistike.

Program ustvari tudi nastalo datoteko EXCEL, kjer doda dva stolpca s koordinatami (zemljepisna širina in dolžina).

Poleg tega so v dodatnem stolpcu prikazane kode za vezavo naslovov.

Te kode za vezavo naslovov so zelo pomemben pokazatelj. S pomočjo teh kod lahko izberete le tiste naslove, ki so z vašega vidika najbolj pravilno povezani.

Na primer, če program ne najde določene stavbe, bo poiskal hišo z isto številko, vendar brez stavbe. In če najde takšno hišno številko, bo dala ustrezno zavezujočo kodo.

Sklepi.

Ta mehanizem prikaza seznama naslovov na zemljevidu omogoča postavitev in prikaz velikih zemljevidov (seznamov) naslovov (na primer iz datoteke EXCEL) na zemljevidu, hkrati pa prikazuje vse koordinate zasidranih točk v nastalem .

Mehanizem je edinstven, ker na internetu ni takšnega mehanizma v smislu priročnosti in možnosti obdelave velikih nizov naslovov iz datoteke hkrati.

Mehanizem je v velikem povpraševanju, ker Na internetu smo večkrat naleteli na zahteve po takem mehanizmu - za prikaz natančno velikega naslova na zemljevidu.

Mehanizem ima nesporno prednost pred googlom in yandexom - ker lahko takoj obdela celotne sezname naslovov, medtem ko google in yandex obdelujeta na istem naslovu ali zahtevata pisanje ločenega programa z lastnim vmesnikom.

Očitno uporabnik ne bo napisal programa, če mora samo prikazati svoje velike sezname naslovov na zemljevidu, ampak bo preprosto uporabil našo storitev.

To storitev lahko iščete po različnih ključnih besedah, na primer:

vsi naslovi na zemljevidu;

seznam naslovov na zemljevidu;

Internetna storitev za postavitev velikega števila točkovnih naslovov na zemljevid;

na zemljevidu označite številne naslove točk;

označite naslove na zemljevidu;

Sankt Peterburg Moskva zemljevid uvoz naslovov Excel;

na zemljevidu prikažite naslove iz zbirke podatkov;

prikaži naslove iz datoteke na zemljevidu;

iskanje z več naslovi na zemljevidu;

iskanje z več naslovi na zemljevidu;

več iskanj naslovov na zemljevidu;

hkratno iskanje več naslovov na zemljevidu;

na zemljevid povežejo številne naslove;

na zemljevidu prikaži veliko naslovov;

prikaže veliko naslovov iz datoteke na zemljevidu.

Koda stanja- trimestno število, kjer:
Prva številka (stotine): status vezave na lokacijo
Druga številka (desetice): stanje vezave na ulico
Tretja številka (enote): stanje povezave s številko trupa.

Povezava do naše točke:
0 - norma, izdelek je bil najden na naslovu in je pravilen.
1 - poravnava na naslovu ni, je bilo treba nadomestiti privzeto poravnavo (na primer za zemljevid SPblo je takšno naselje St. Petersburg).
2 - poravnava je bila najdena na naslovu, vendar se je izkazala za napačno (tj. Preostanek naslova se ji ni ujemal), ali pa poravnave na naslovu ni bilo in privzeti element, ki je bil nadomeščen, ni privzeto ustrezal - bilo je treba poravnavo poravnati v poljubno, vendar tako, da se najde ujemanje.

Pojdite na ulico
0 je norma, ime ulice na naslovu je popolnoma sovpadalo z imenom v naslovu.
1 - ime je po prerazporeditvi besed v imenu sovpadalo (na primer namesto "Malaya Konyushennaya" je bilo označeno kot "Konyushennaya Malaya").
2 - ime je sovpadlo po tem, ko je bila beseda zamenjana na levi (na primer namesto »ulica General Karbyshev« je bila preprosto »ulica Karbyshev«).
3 - ime, ki se ujema z besedo na desni, je bilo nadomeščeno.
4-8 - rezervirano
9 - nobene ulice, torej iskanje je potekalo samo v regiji, ne glede na ulico in hišo

Pritrdite na telo
0 - norma, korpus je bil najden na naslovu in je pravilen; ali stavbe ni bilo mogoče najti na naslovu, baza podatkov naslovov pa vsebuje hišo brez stavbe
1 - na naslovu ni ohišja, izvedena je bila zamenjava.
2 - na naslovu ni hiše, najdena je bila najbližja hiša iste paritete (za največ 10).
3-8 - rezervirano
9 - nobenega doma, torej iskanje je potekalo samo v regiji, ne glede na ulico in hišo

  • Storitve geografskih informacij
  • Razvijalci, ki uporabljajo vmesnik Yandex.Maps, se pogosto soočajo z nalogo prikaza številnih predmetov na zemljevidu. Dejansko veliko - približno 10 000. Poleg tega je ta naloga pomembna tudi za nas - poskusite poiskati lekarne na Yandexu. Na prvi pogled se zdi: »Kaj je pravzaprav problem? Vzemi in pokaži. " Toda dokler tega ne začnete, ne boste razumeli, da so težave pravzaprav cel avto.

    Vprašanja o velikem številu oznak se zavidljivo redno pošiljajo v naš klub in tehnično podporo. Kdo so vsi ti ljudje? Koga bi morda zanimalo prikaz več kot 10 oznak mest na zemljevidu? V tem prispevku bom podrobneje pogledal celoten sklop težav in vam povedal, kako so se v API -ju pojavila orodja, ki razvijalcem pomagajo optimalno prikazati veliko število predmetov na zemljevidu.

    V bistvu se s problemom soočajo informacijske storitve, ki želijo povezati podatke s kartico. Na primer, spletno mesto bankomator.ru uporabnikom pove, kje najti bankomat želene banke.

    Nepremičninski viri trpijo tudi zaradi veliko podatkov. Presenetljiv primer je Cian.ru.

    Do nedavnega smo v Yandexu sorodnim skupinam svetovali različne "hakere" in tehnike za prikaz več točk prek API -ja. Živahni primeri so Yandex.Realty in Yandex.Taxi.

    Točka 1. Kaj je dejansko problem?

    Če želite začutiti vso težo naloge, ki jo imate, jo morate poskusiti rešiti. Najprej razumejmo, kako prikazati zemljevid na strani storitve. Razmislimo o preprosti shemi:

    Odjemalec (na primer Safari v iPhonu) od strežnika zahteva stran index.html. Stran je dokument z naslednjo kodo:



    Zdaj zapletemo nalogo. Imamo bazo podatkov, ki hrani naslove navijačev Zenita. In naslove teh oboževalcev želimo prikazati na zemljevidu.

    Rešitev problema "čelno":

    1. Iz baze izberemo 1 milijardo naslovov.
    2. V polje index.html dodajte matriko, ki vsebuje celotno milijardo naslovov.
    3. To datoteko prenesemo na odjemalca.
    4. Na odjemalcu ponovimo podatke o matriki in za vsak element na zemljevidu narišemo oznako.

    Če ste vodja projektov in vaš razvijalec prikaže takšno rešitev, boste verjetno postali sivi. Zanj boste izrazili svojo vrednostno sodbo. Če odstranimo nespodoben jezik, lahko izpostavimo naslednje točke:

    • Teža datoteke index.html se bo povečala na nekaj MB, uporabnik pa bo stran odprl v nekaj sekundah.
    • Zakaj bi celotno bazo podatkov prenesli na odjemalca, če morate prikazati samo oznake za Moskvo?
    • Zakaj bi na zemljevid narisali VSE oznake, če jih vidi le desetino?
    • Če na zemljevid narišete približno 100-200 oznak na običajen način, se bo zemljevid upočasnil.
    • Ali je mogoče nalepke nalagati postopoma, v serijah, da se kanal ne zamaši in brskalnik ima čas, da te oznake nariše?

    Skratka - ustvarite pregledne slike z oznakami na strežniku in besedilni opis oznak. Odjemalec lahko spremlja vidno območje zemljevida in zahteva podatke, ki so potrebni za trenutno vidno območje zemljevida.

    Na primer z vročimi točkami se na maps.yandex.ru narišejo prometni zastoji. Spletno mesto bankomator.ru je bilo narejeno po isti tehnologiji.

    Ta tehnologija ima več pomembnih pomanjkljivosti.
    1. Zelo zapletena stran strežnika. Poskusite v prostem času napisati modul, ki ustvari take slike in njihove geometrijske opise, in vse boste razumeli.

    2. Absolutna neprilagodljivost. Ko premaknete miškin kazalec, oznake ni mogoče "dvigniti". Nemogoče je hitro spremeniti videz nalepk na odjemalcu. Skratka, pri vsakem kihanju morate od strežnika zahtevati, da sliko obnovi.

    Zato so se uporabniki vrteli po svojih najboljših močeh, brez žariščnih točk - v nizu so prek časovne omejitve prenašali nabore posameznih predmetov. Hkrati so jih na stranki spet čakale težave. Če ste stranki predali 1000 točk, kako jih izžrebate?

    Od vsake točke je bilo treba ustvariti predmet ymaps.Placemark in ga dodati na zemljevid. V gručo (ymaps.Clusterer) je bilo mogoče dodati oznake in na zemljevid dodati oznake v gruči. Pri tem je treba opozoriti, da morate pri združevanju 10.000 točk najprej ustvariti primerek teh 10.000 točk in jih nato prenesti v grozdilec. To pomeni, da se oznaka morda ne bo prikazala na zemljevidu, saj bo vključena v gručo, vendar bomo še vedno porabili čas za njeno inicializacijo.

    Če povzamemo vse te stvari, smo se odločili napisati modul, ki bi omogočal:

    1. Hitro in enostavno na stranko narišite veliko število točk.
    2. Izogibajte se nepotrebnim inicializacijam pri delu s točkami na odjemalcu.
    3. Prenesite podatke odjemalcu strogo na zahtevo.
    In to smo storili. Smo mačke.

    Korak 2. Hitro narišite nalepke

    Če želite izvedeti, kako hitro narisati nalepke, je bilo treba razumeti, kakšne težave so v trenutni, že obstoječi rešitvi. Poglejmo, kaj lahko naredi objekt ymaps.Placemark:
    1. Lahko riše na zemljevid.
    2. Ima svojega upravitelja balonov placemark.balloon.
    3. Ima lastno oznako upravitelja namigov.hint.
    4. Ima urejevalnik, ki vam omogoča, da povlečete oznako in popravite njene koordinate placemark.editor.
    Poleg tega se oznaka dinamično odziva na vsako spremembo zunanjega okolja - spreminjanje možnosti, podatkov, projekcije zemljevida, spreminjanje obsega zemljevida, spreminjanje središča zemljevida in še veliko, veliko več. To so naši mogočni znamenitosti.

    Ali potrebujete vso to moč programske opreme za primer, ko mora razvijalec na zemljevidu prikazati veliko etiket iste vrste? Tako je, ni potrebno.

    Zato je bil prvi vpogled naslednji: premaknimo vse pomožne module nalepk v eno skupno komponento in za vsak posamezen objekt bomo ustvarili samo programsko entiteto, ki je neposredno odgovorna za upodabljanje.

    Drugi vpogled je prišel, ko smo pomislili na problem nepotrebnih inicializacij programske opreme. Spomnimo se zgodbe zgoraj, nekje na področju te slike.

    Želeli smo se znebiti nepotrebnih inicializacij programske opreme in prišli smo do briljantne. Sedite, zdaj bo razodetje: če vas motijo ​​nepotrebne inicializacije programske opreme, jih ne storite.
    Odločili smo se, da bomo shranili podatke po meri o objektih (pravzaprav v JSON -u), programske entitete za objekte pa bodo ustvarjene le, ko je treba objekt narisati na zemljevid.

    Po kombinaciji teh zamisli in nekaj razvoja se je rodil nov modul API za prikaz velikega števila točkovnih objektov - ymaps.ObjectManager.

    JSON-opis predmetov se vnese na vhod tega upravitelja.
    Upravitelj analizira, katere oznake padejo na vidno območje zemljevida, ali nariše nalepke ali jih združi v gruče in prikaže rezultat na zemljevidu.

    Za risanje oznak in gruč na zemljevid smo vzeli le del predmeta ymaps.Placemark (in sicer ymaps.overlay. *), Ki je bil odgovoren le za prikaz oznake mesta na zemljevidu. Celotno infrastrukturo, kot so baloni in namigi, smo združili v eno samo skupno komponento.

    Te tehnike so nam omogočile dober napredek pri upodabljanju velikega števila nalepk na odjemalcu. Tu so povečanja hitrosti:


    Graf 1. Hitrost ustvarjanja in dodajanja predmetov na zemljevid z naknadnim asinhronim upodabljanjem njihovega vidnega dela

    1. Če ustvarite 50.000 oznak mest in jih dodate na zemljevid brez gručanja, bo vidnih 10.000.


    Graf 2. Hitrost ustvarjanja in dodajanja predmetov na zemljevid z naknadnim sinhronim upodabljanjem njihovega vidnega dela

    1. Ustvarite 1000 označevalcev in jih dodajte na zemljevid, vsi označevalci so vidni.
    2. Ustvarjanje 1000 oznak mest in njihovo dodajanje na zemljevid z gručanjem, vse oznake položaja so vidne.
    3. Ustvarite 10.000 oznak mest in jih z gručanjem dodajte na zemljevid, vse oznake položaja so vidne.
    4. Ustvarjanje 50.000 oznak mest in njihovo dodajanje na zemljevid z gručanjem, vse oznake položaja so vidne.
    5. Ustvarjanje 50.000 oznak mest in njihovo dodajanje na zemljevid z gručanjem je vidnih 500 predmetov.
    6. Ustvarjanje 10.000 oznak mest in njihovo dodajanje na zemljevid brez gručanja, je vidnih 2000.
    7. Ustvarjanje 5000 oznak mest in njihovo dodajanje na zemljevid brez gručanja, 1000 je vidnih.

    Pomembna opomba. Vse te statistike veljajo za sodobne brskalnike. IE8 ni eden od teh brskalnikov. Zato bodo zanj številke veliko slabše, vendar mislim, da za večino to ni pomembno.

    Ustvarjanje in upodabljanje objektov nam je uspelo neposredno, poleg tega smo čim bolj optimizirali inicializacijo programskih entitet. Zdaj lahko na primer stranki zberete 50.000 točk in z zemljevidom bo udobno delati.

    Več o modulu si lahko preberete v našem priročniku za razvijalce in si v živo ogledate primere dela modula v peskovniku.

    Tako smo se naučili, kako hitro narisati in združiti točke na odjemalcu. Kaj je naslednje?

    Točka 3. Podatke nalagamo optimalno

    Se spomnite primera o navijačih Zenita? Rešili smo problem upodabljanja podatkov na odjemalcu, vendar nismo rešili problema v zvezi z optimalnim nalaganjem teh podatkov. Začeli smo zbirati skupna opravila za uporabnike API. Na podlagi rezultatov raziskave smo prejeli dva značilna primera:
    1. Oseba ima na strežniku veliko podatkov, želi jih prikazati odjemalcu, vendar podatke po potrebi naloži.
    2. Razvijalec pripravi podatke na strežniku (na primer izvaja strežniško gručiranje) in želi rezultate te obdelave prikazati odjemalcu.

    Za rešitev teh primerov so bili napisani moduli in RemoteObjectManager Oba modula v bistvu temeljita na izvedbi ObjectManager, vendar imajo številne razlike v algoritmu za nalaganje in predpomnjenje naloženih podatkov.

    Posledično bo uporabnik, ko dela z zemljevidom, prejemal podatke iz vaše baze podatkov. V nekem trenutku se naložijo vsi ali potreben del podatkov in zahteve na strežnik ne bodo poslane v celoti.

    Podatki so shranjeni na odjemalcu v pr-drevesu, zato se tudi pri veliki količini podatkov izbira precej hitro.

    Zdaj pa se pogovorimo o drugi možnosti - prikaz rezultatov združevanja strežnikov na odjemalcu. Recimo, da ste napisali grupisanje oznak na strani strežnika. Napisali ste tudi skript, ki lahko na zahtevo odjemalca vrne gruče in posamezne oznake, ki niso vključene v gručo.

    Ustvariti morate le primerek RemoteObjectManager in vanj zapiši pot do tega čudovitega scenarija. RemoteObjectManager bo deloval na enak način. Edina razlika je v tem, da bomo vsakič, ko spremenimo povečavo, od strežnika znova zahtevali podatke.

    Ker so podatki združeni v strežnik, lahko strežnik in samo strežnik vesta, kateri podatki so potrebni in katerih trenutno ni treba prikazati na zemljevidu. Zato se podatki o objektih shranijo v odjemalcu le do prve spremembe povečave, nato pa se vse znova zahteva.

    Če se opis oznake gruče posreduje s strežnika, bodo te oznake na odjemalcu pobrale celotno infrastrukturo iz API -ja - za gruče bodo narisane posebne ikone, zanje bodo delovala vsa standardna vedenja itd. naprej.

    Točka 4. Razmišljanja o izvedbi strežnika

    V tem razdelku želimo navesti koncepte shranjevanja in obdelave podatkov na strežniku, ki smo jih prevzeli pri oblikovanju odjemalca. Pojdimo od preprostega do zapletenega.

    1. Shranjevanje podatkov o objektih na strežniku v statične datoteke

    Koda odjemalca deluje s podatki izključno na ploščico. Ploščica je neko oštevilčeno območje na zemljevidu. Več o oštevilčevanju ploščic lahko preberete v naši dokumentaciji.

    Ko je na strani prikazano določeno območje zemljevida, odjemalski modul izračuna, katere ploščice so na tem vidnem območju, preveri prisotnost potrebnih podatkov in po potrebi pošlje zahteve po podatkih.

    Odjemalski modul ima nastavitve, ki omogočajo pošiljanje zahtev za vsako novo ploščico posebej. Zakaj je to dragoceno? Da, ker dobimo omejeno število možnosti za zahtevo odjemalca na strežnik.

    Povečava = 0, ploščica =
    povečava = 1, ploščica =
    povečava = 1, ploščica =
    povečava = 1, ploščica =
    povečava = 1, ploščica =
    povečava = 2, ploščica =

    Ker so zahteve znane vnaprej, je mogoče tudi odgovore na zahteve generirati vnaprej. Organizirajmo nekaj take strukture datotek na strežniku.

    Datoteke bodo shranjevale nekaj takega:

    MyCallback_x_1_y_2_z_5 (("type": "FeatureCollection", "features": [("type": "Feature", "id": 0, "geometry": ("type": "Point", "koordinate" :), "properties": ("balloonContent": "Balloon content", "clusterCaption": "Label 1", "hintContent": "Text tooltip")), ...])

    Pri nalaganju take datoteke se odjemalec pokliče povratni klic JSONP, zapisan v datoteki. Podatki bodo padli v globino LoadingObjectManagerja, predpomnjeni in upodobljeni v želeni obliki.

    Posledično je mogoče na strežnik shraniti samo statične datoteke z naborom podatkov, odjemalski del pa se bo sam odločil, kaj bo zahteval in kdaj pokazal.

    2. Dinamično generiranje odziva iz statičnih datotek

    Pomembna pomanjkljivost zgornje rešitve je veliko število zahtev po podatkih od odjemalca do strežnika. Bolj smiselno je poslati zahtevo za več ploščic hkrati, kot pa zahtevati podatke za vsako ploščico posebej, toda za obdelavo zahtev za skupine ploščic morate že napisati nekaj kode strežnika.

    V tem primeru se lahko podatki še naprej hranijo v ločenih datotekah. Ko odjemalec prejme zahtevo za podatke na določenem pravokotnem območju, bo dovolj, da vsebino več datotek zlepi v en odgovor in jo pošlje nazaj odjemalcu.

    3. Dinamično oblikovanje odziva z uporabo baze podatkov

    Najbolj pravilen način, po našem mnenju, je implementacija strežniške strani z uporabo baze podatkov, ki lahko indeksira georeferencirane podatke. Za vsako bazo podatkov, ki ne podpira prostorskih indeksov, lahko takšen indeks ustvarite sami s konceptom prostorskih ključev.

    Na splošno je shranjevanje georeferenciranih podatkov na strežniku in njihovo združevanje v temo za ločen pogovor. Zato bomo o tem drugič razpravljali.

    Zaključek

    Primerjalna tabela novih modulov.
    Modul Prednosti slabosti
    ObjectManager

    Upodobitev se izvede samo za tiste predmete, ki padejo na vidno območje zemljevida.

    Na strani strežnika ni treba izvajati, saj se vsa obdelava podatkov izvaja na strani odjemalca.

    Podatki se naložijo za vse objekte hkrati (tudi za tiste, ki ne sodijo v vidno območje zemljevida).

    Zbiranje objektov se izvaja na strani odjemalca.

    Omogoča združevanje objektov na odjemalcu.
    Naloži podatke samo za vidno območje zemljevida.

    Shrani prenesene podatke. Za vsak predmet se podatki naložijo le enkrat.

    Omogoča filtriranje predmetov, ko so prikazani.

    Podpira delo samo z nalepkami.

    Zbiranje objektov se izvaja na strani odjemalca.

    RemoteObjectManager Uporablja strežniško združevanje podatkov.

    Podatki o predmetu so shranjeni na strežniku. Vsakič se podatki naložijo samo za tiste predmete, ki padejo na vidno območje zemljevida.

    Podpira delo samo z nalepkami.

    Ko spremenite faktor povečanja, se podatki znova naložijo (tudi za tiste predmete, za katere so bili podatki že naloženi).

    Izvesti morate lastno združevanje v gruče.

    Vnesti je treba strežniško stran.

    Trenutno podpiramo samo delo s točkovnimi objekti. Podpora za poligone, poliline in druge čudovite oblike je na poti in se bo pojavila v prihodnjih izdajah.

    Kdaj bi morali razmisliti o uporabi teh modulov? V skoraj vseh situacijah, ko morate na zemljevid narisati veliko točkovnih predmetov.

    1. Podroben vodnik za razvijalce s slikami-tech.yandex.ru/maps/doc/jsapi/2.1/dg/concepts/many-objects-docpage.
    2. Primeri peskovnika - tech.yandex.ru/maps/jsbox/2.1/object_manager
    3. Projekt github s primerom strežniške implementacije za RemoteObjectManager - github.com/dimik/geohosting-server.
    4. Klub razvijalcev API Yandex.Maps, kamor morate priti z vprašanji - clubs.ya.ru/mapsapi.

    Oznake:

    • javascript
    • api
    • geo
    Dodajte oznake

    V tem članku želim začeti vrsto člankov o delu z API -jem Yandex.Maps. Dokumentacija Yandex.Maps je precej popolna, vendar je stopnja razdrobljenosti informacij v njej velika, ko prvič vstopite v dokumentacijo, je ne morete ugotoviti brez pol litra, za rešitev težave pa lahko porabite veliko čas iskanja po dokumentaciji in v iskalniku. Ta serija člankov bo govorila o praktičnih rešitvah najpogostejših primerov uporabe API -ja Yandex.Maps, najnovejše v času pisanja te različice 2.1.

    Pri kodiranju spletnega mesta v kontaktne podatke je pogosto treba vstaviti zemljevid, na katerem bo označena lokacija organizacije, za katero se spletno mesto razvija. V najpreprostejših primerih je to lahko le posnetek zaslona s spletnih zemljevidov (ali ne na spletu):

    Za vstavljanje interaktivnega zemljevida lahko uporabite konstruktor zemljevida
    https://tech.yandex.ru/maps/tools/constructor/:

    Če potrebujemo naprednejšo uporabo zemljevidov (lastne oznake, programsko premikanje zemljevidov itd.), Potem moramo za to uporabiti API Yandex.Maps: https://tech.yandex.ru/maps/jsapi/. Kot primer uporabe zemljevidov bo ta članek obravnaval ustvarjanje zemljevida s preprostim dodajanjem oznak in balonov po meri.

    Najprej povežimo komponente API:

    Če razvijate veliko aplikacijo z uporabo zemljevidov, je bolje, da komponente API -ja povežete z določeno različico, tako da se pri posodobitvi API -ja na strani Yandex pri proizvodnji nič ne zlomi:

    Zemljevid bo treba postaviti v neki blok, na primer v div # zemljevid... Nato je treba v tem bloku ustvariti zemljevid (po sprožitvi dogodka pripravljenosti na zemljevid in DOM):

    ymaps.ready (init); function init () (var myMap; myMap = novi ymaps.Map ("zemljevid", (sredina: [55.76, 37.64], povečava: 7));)

    Tu navajamo:

    1. ID bloka "Zemljevid" kjer bomo izdelali zemljevid;
    2. center- središče zemljevida s širino in dolžino;
    3. povečavo- faktor merila zemljevida.

    Yandex.Maps privzeto ustvarja veliko nepotrebnih elementov, ki v večini primerov niso potrebni na spletnih mestih. V bistvu je dovolj, da za kontrole in obnašanje zemljevida uporabite 2 pogoja:

    1. od elementov zemljevida je prisoten samo drsnik za povečavo;
    2. zemljevida ne smete spreminjati z drsenjem miške.

    Za izpolnitev teh zahtev dopolnjujemo kodo:

    ymaps.ready (init); function init () (var myMap; myMap = new ymaps.Map ("map", (center: [55.76, 37.64], zoom: 13, control :)); myMap.behaviors .disable ("scrollZoom"); myMap. controls .add ("zoomControl", (položaj: (zgoraj: 15, levo: 15)));)

    Tu smo onemogočili "ScrollZoom" in dodal "ZoomControl" postavljeno iz zgornjega levega kota.

    Zdaj moramo zemljevidu dodati oznako, za članek prenesite njeno sliko s spletnega mesta http://medialoot.com/item/free-vector-map-location-pins/ in jo postavite v kodo, kot sledi:

    ymaps.ready (init); function init () (var myMap; myMap = new ymaps.Map ("map", (center: [55.7652, 37.63836], zoom: 17, control :)); myMap.behaviors .disable ("scrollZoom"); myMap. controls .add ("zoomControl", (položaj: (zgoraj: 15, levo: 15))); var myPlacemark = new ymaps.Placemark ([55.7649, 37.63836], (), (iconLayout: "privzeta # slika", iconImageHref :, iconImageSize: [40, 51], iconImageOffset: [ - 20, - 47])); myMap.geoObjects .add (myPlacemark);)

    Tukaj razglasimo spremenljivko myPlacemark, v kateri zapišemo oznako, v prvem parametru ymaps.Oznaka mesta določimo koordinate oznake in v tretjem parametru:

    1. navesti v iconLayout da bo uporabljena slika oznake po meri;
    2. iconImageHref- pot do slike;
    3. iconImageSize- označite velikost slike;
    4. iconImageOffset- označimo premik od zgornjega levega kota slike do točke slike, ki jo pokažemo na predmet, ki ga potrebujemo. To je potrebno, da se pri označevanju zemljevida položaj oznake ne izgubi. Zakaj je odmik naveden v negativnih vrednostih- samo Bog pozna ustvarjalca API-ja.

    In skozi myMap.geoObjects.add () dodajte oznako na zemljevid.

    In zdaj bomo naredili balon, ki bo prikazan, ko kliknemo na oznako zemljevida, vzeli bomo postavitev balona in njegovo vsebino s spletnega mesta http://designdeck.co.uk/a/1241

    ymaps.ready (init); function init () (var myMap; myMap = new ymaps.Map ("map", (center: [55.7652, 37.63836], zoom: 17, control :)); myMap.behaviors .disable ("scrollZoom"); myMap. controls .add ("zoomControl", (položaj: (zgoraj: 15, levo: 15))); var html = " "; var myPlacemark = new ymaps.Placemark ([55.7649, 37.63836], (balloonContent: html), (iconLayout:" privzeta # slika ", iconImageHref: "http: //site/files/APIYaMaps1/min_marker.png", iconImageSize: [40, 51], iconImageOffset: [ - 20, - 47], balloonLayout: "privzeto # imageWithContent", balloonContentSize: [289, 151], balloonImageHref: "http: //site/files/APIYaMaps1/min_popup.png", balloonImageOffset: [ - 144, - 147], balloonImageSize: [289, 151], balloonShadow: false)); myMap.geoObjects .add (myPlacemark); )

    Tukaj smo:

    1. v balloonContent določite vsebino, ki bo prikazana, ko se balon odpre;
    2. balloonLayout- nakazujemo, da bo slika po meri uporabljena kot postavitev balona;
    3. balloonContentSize in balloonImageSize- velikost vsebine in slike;
    4. balloonImageHref- pot do slike;
    5. balloonImageOffset- odmik glede na zgornji levi kot;
    6. balloonShadow- onemogočanje sence za balon (s slikami po meri ne vpliva na nič).

    Vizualno načrtujte pot prihodnjega potovanja ali označite kraje, kjer ste že bili - vse to lahko storite v Google Zemljevidih, medtem ko gradite poti in izračunate razdaljo. Označite tudi poti izletov, pohodniške izlete. Skratka, popoln način za povezavo potovanj z zemljevidi, tako da je vse interaktivno in informativno.

    Poskusimo ugotoviti to najbolj uporabno storitev za popotnike, pa tudi spoznati praske, ki jih lahko doma obesimo na steno in označimo obiskane države.

    Ne vem za vas, toda Google Zemljevidi so v meni vedno povzročali nekakšen stupor, vedno sem mislil, da ga je zelo težko uporabljati in si preprosto nisem upal sedeti in ugotoviti. Ampak, kot je rekel Che Guevara: "Bodimo realni in naredimo nemogoče," sem pred Google Zemljevidi premagal svojo fobijo in izbral dan, da jo popolnoma razumem. In spet sem bil prepričan, da se vse, kar se sprva zdi zapleteno, na koncu izkaže za preprosto in razumljivo.

    Še več, prej smo že imeli izkušnje s storitvijo, ko smo se naučili načrtovati potovanja in potovanja.

    V idealnem primeru storitev deluje v Googlovem domačem brskalniku - Ghrome, v Operi sploh ni pomembno, da se prikaže in upočasni. Pri delu z zemljevidi svetujem uporabo Chroma ali Mozile.

    Ustvarite svojo pot / zemljevid potovanja v google maps

    Ustvarimo torej svoje oznake mest na zemljevidu. Najprej pojdite na Google zemljevidi in pojdite na razdelek "Moje poti", tukaj morate klikniti povezavo "Ustvari":

    Na ustvarjenem zemljevidu boste videli plast, ki je nekoliko podobna slojem v Photoshopu. Pod obrazcem za iskanje je orodna vrstica, ki je na voljo za delo. In sicer:

    Zato vzamemo orodje in najprej postavimo označevalce na tistih lokacijah, kjer smo že bili:

    Vse oznake lokacije bodo dodane v en sloj, ki je bil samodejno ustvarjen z novim zemljevidom.

    Oznakam zemljevida dodajte fotografije in videoposnetke

    Ko na zemljevid postavite potrebne oznake, jih lahko začnete polniti z opisi, videoposnetki ali fotografijami.

    Če želite to narediti, izberite orodje, izberite oznako, ki jo potrebujete za urejanje, in kliknite ikono s kamero:

    Nato se odpre okno za prenos in pritrjevanje vsebine na označevalnik. To je lahko fotografija, naložena nekje na internetu, ali videoposnetek z Youtube. Sliko lahko poiščete tudi z iskanjem slik v Googlu. Fotografije ne morete neposredno naložiti iz računalnika v Google Zemljevide.

    Če ne veste, kam naložite svojo fotografijo v internet, da obstaja neposredna povezava za vstavljanje, priporočam storitev ipic.su ali uporabite storitev shranjevanja datotek v oblaku dropbox.

    Kako izmeriti razdaljo in dobiti navodila?

    Obstajata dva načina za merjenje razdalje - z orodjem za ravnilo in linijskim orodjem. Zdaj pa poglejmo podrobneje delo vsakega od njih.

    Primer delovanja orodja Ruler

    1. Ravnilo je primerno za merjenje razdalje vzdolž ravne črte, od točke A do točke B. Če s pomočjo "ravnila" narišete nekakšno zaprto figuro, potem lahko vidite območje te figure .

    2. S pomočjo črte lahko narišete nekakšno zaprto figuro, na primer ozemlje, na katerem zdaj potujete. Tako kot pri ravnilu boste tudi pri zaprti obliki imeli na voljo informacije o njeni površini in razdalji vzdolž meja.

    Ustvarjanje poti na zemljevidu za avto se izvede na enak način z uporabo črte. Postavite točko A in nato točko B, storitev pa izračuna razdaljo in pot vzdolž uradnih cest.

    Na levi strani fotografije je označeno območje s črto, na desni je asfaltirana pot

    Pot je ustvarjena na novi plasti. Če želite podrobne statistike, pojdite v meni plasti s tlakovano potjo in kliknite povezavo "Podrobnosti poti", če si želite podrobneje ogledati celotno pot:

    Na poti lahko spremenite prevozno sredstvo, lahko je to kolo ali sprehajalna pot. Toda to je bolj pomembno za Evropo, Ameriko, kjer obstajajo kolesarske ceste in so dodane na zemljevide.

    Kako označiti koordinate na zemljevidu?

    Če poznate koordinate določenega območja, v iskalno polje Google Zemljevidov vnesite zemljepisno širino in dolžino, ločeni s presledkom. V tem vrstnem redu je pomembno! Ločilo med stopinjami in decimalnimi minutami je pika.

    Možnosti snemanja:

    Najdemo za primer koordinate potopljene ladje Britannia iz knjige Jules Verne "Children of Captain Grant".

    »Tam so,« je nadaljeval Harry Grant, »nenehno prenašajo hude stiske, vrgli ta dokument na sto petinpetdeset stopinj dolžine in sedemintrideset stopinj enajst minut zemljepisne širine. Pomagaj jim, sicer bodo umrli. "

    Glede na ploskev knjige je znano, da južna polobla in zahodni del. Izračunajmo minute v decimalko in dobimo koordinate za zemljevid:

    Če ste označili točko in jo želite pokazati svojim prijateljem. Kot je opisano zgoraj, ustvarite nov zemljevid, dodajte to točko v plast in zdaj lahko delite povezavo s katero koli osebo.

    najboljše objave
    Za tiste, ki so bolj udobni in bližje Yandexu, predlagam, da si ogledajo podoben članek o popravkih. Naprednejše možnosti tiskanja!

    Delo s plastmi na zemljevidu

    Prednost plasti sem videl v ločevanju krajev in poti glede na njihov namen. Na primer, na enem sloju postavim označevalce krajev, kjer sem že bil, na drugem pa tiste države in mesta, ki jih želim obiskati v prihodnosti. Vse nastavljene oznake za vsako plast bodo hkrati prikazane na enem zemljevidu.

    Plasti bodo lahko postavljeni drug na drugega in urejeni posebej. »Uredi« je močna beseda, saj v resnici ne bomo mogli narediti toliko, in sicer: spremeniti slog plasti, urediti tabelo s podatki, onemogočiti in omogočiti njen prikaz.

    Označena pot na zemljevidu (na klik)

    V vzorčnem zemljevidu, ki ga izdelujem za ta članek, sem barvo označevalcev (nalepk) nastavil drugače, tako da je vidna razlika. Poleg označevalcev v meniju lahko urejate slog prikaza, pa tudi poti s črtami.

    Uvoz obiskanih krajev iz Excela v Google Zemljevide

    Če imate na zemljevidu veliko mest, ki jih želite označiti, lahko v Excelu pripravite tabelo, ki jo lahko nato uvozite na zemljevid. Zelo priročno in prihrani čas.

    Osnovna tabela bo imela tri stolpce:

    • Lokacija označevalca. Lahko so točne koordinate (zemljepisna širina in dolžina) ali pa samo ime območja. Uporabljam ime mesta, kjer sem bil, in označujem državo, ločeno z vejicami. Država mora biti določena, ker se nekatera mesta ponavljajo in program lahko postavi veliko nepotrebnih oznak. Poskusite tudi imena zapisati brez napak;
    • Drugi stolpec je ime označevalnika, ki bo prikazan v glavi in ​​v meniju;
    • Za opis bo odgovoren tretji stolpec, v katerem lahko navedete vse informacije v zvezi s tem področjem.

    Primer uvožene datoteke Excel:

    V kakršni koli obliki lahko določite več stolpcev, lahko so to telefonske številke, spletna mesta, imena hotelov in karkoli drugega. Vse informacije iz dodatnih stolpcev bodo v opisu znamke.

    Zdaj, če želite vse podatke dodati na zemljevid, ustvarite novo plast in kliknite gumb »Uvozi«. V meniju, ki se odpre, izberite datoteko xls ali preglednico iz Google Drive.

    V oknu, ki se odpre, bo storitev ponudila izbiro stolpcev, ki so odgovorni za lokacijo in imena označevalnikov, nato kliknite »Dokončaj«. V nekaj sekundah bo celotna tabela s podatki naložena na zemljevid in na voljo za urejanje.

    Primer okrašene kartice, dodane na spletno mesto:

    Zemljevid, na katerem lahko označite mesta z nalepkami ali jih izbrišete

    To so tako imenovane Scratch kartice, ki pa so razdeljene v dve podvrsti - z lepljenjem ali brisanjem obiskanih mest. Takšne kartice si lahko ogledate in kupite v knjižni labirint.

    Na zemljevidu je zelo enostavno označiti mesta, kjer ste bili, samo vzemite kovanec in previdno izbrišite pozlačeno plast. Podobno kot pri loterijskih vstopnicah. Države na zemljevidih ​​praske so obarvane v različnih barvah, velike države, kot so ZDA, Rusija in Kanada, pa imajo še vedno notranje delitve po državah, republikah itd.

    Danes poslovanja brez povezave ne zanima znak, ampak bloki z informacijami o instituciji na desni strani rezultatov iskanja Googla in Yandexa. Pogovorimo se o tem, kako na kartice dodati podatke o podjetju.

    Kako dodati podjetje v Google Zemljevide

    V storitvi morate ustvariti stran Google My Business.

    Kaj to naredi? Najprej možnosti:

    • obveščati uporabnike o cenah, odpiralnem času, dogodkih in novicah organizacije;
    • spremljati preglede in se nanje hitro odzivati;
    • analizirati poglede poslovnih informacij (število ogledov podatkov podjetja, ogledov fotografij, video posnetkov);
    • komunicirati s potencialnimi strankami prek pogovorov Hangouts;
    • priložite zemljevide s potjo organizaciji;
    • graditi ugled z ocenami uporabnikov.

    Blokiraj Google My Business v rezultatih iskanja

    Algoritem za dodajanje podjetja.

    Če v 3-4 tednih ne prejmete pisma, pišite tehnični podpori: »Pismo ni prispelo, kaj naj storim?«. Google bo ponudil postopek ročnega preverjanja.

    Če želite to narediti, morate poslati več fotografij:

    9. Po tem boste preusmerjeni na osebni račun vašega podjetja:

    Na strani "Podatki" morate navesti najbolj popolne podatke o svojem podjetju:

    • dodajte dodatne kategorije, ki ustrezajo vaši dejavnosti;
    • dodajte opis svojega podjetja;
    • določite delovne ure;
    • načini plačila blaga in storitev;
    • dodajte fotografije in video posnetke;
    • pa tudi dodatne informacije.

    V opisu podjetja poskusite čim natančneje zapisati, kaj točno je vaše podjetje: katere izdelke ali storitve ponujate.

    Bolj ko so predstavljene popolne in kakovostne informacije o vašem podjetju, večja je verjetnost, da jih bodo uporabniki Googla videli.