![]() |
Iscrtavanje SVG na gMapi
Unapred se izvinjavam sto sam ovo pitanje vec postavio samo sa drugim kodom, ali zelim da bolje objasnim situaciju i postavim bolje pitanje
Pronasao kod-algoritam koji moze da iscrta polygon oko linije. U mom slucaju linija mora da bude google driving direction. Kod koji pravi offset poligon na osnovu linije: http://jsbin.com/oVIcowo/1/edit Ovde kao sto vidite pravi se poligon na osnovu niza tacaka: Kôd: Kôd:
function draw() { Kôd:
response.routes[0].overview_path; Kôd: Kôd:
directionsService.route(request, function(response, status) { Medjutim opet nemogu da iscrtam poligon oko rute iako u gore pomenutom primeru sve radi savrseno. Kako da primenim ovo na google mape? Kako da iscrtam polygon oko rute na ID MAP-CANVAS? U konzoli nema gresaka. |
Citat:
Kôd:
Uncaught ReferenceError: draw is not defined http://ryanmorr.com/understanding-sc...in-javascript/ Citat:
Ukoliko sam dobro razumeo ovu biblioteku, ona vraća koordinate poligona, pa zašto ne koristiš: https://developers.google.com/maps/d...hapes#polygons ? Imaš i npr. JSTS biblioteku, https://coderwall.com/p/zb_zdw |
re
Ovaj kod ovde: https://coderwall.com/p/zb_zdw radi to sto meni treba ali ne bas savrseno tj. ja sam isti takav kod napisao medjutim postoje odredjeni pravci, distance, gde ne radi bas najbolje pa sam resio da integrisem algoritam koji sam nasao jer je on perfektno resenje.
Takodje ovaj kod: Kôd:
response.routes[0].overview_path; Ovaj algoritam zahteva da se kao ulazni parametar postave ove tacke linija a kao izlazni se dobijaju tacke sa kojima se konstruise poligon. ![]() Sve ovo samo moram da prikazem na mapi pa sam sada uradio ovako: http://jsbin.com/uTATePe/21 - DEMO KOD: Kôd:
directionsService.route(request, function(response, status) { A tacke koje dobijam od google directions-a prikaz u konzoli izgleda ovako: Citat:
Hvala na savetima |
kod
Probao sam i ovako (objasnjenje stoji u kodu):
Kôd:
var directionsDisplay; |
Grešku koju sam napisao u prethodnoj poruci javljala se prilikom promene vrednosti prvog select menija, jer se na onchange događaj select elementa poziva funkcija draw, sada je kod izmenjen i javlja se druga greška.
Pitanje u vezi podataka koje prosleđuješ funkcijama sam postavio jer sam video problem, i dalje imaš taj problem, ti pomoću response.routes[0].overview_path dobijaš: https://developers.google.com/maps/d...irectionsRoute Citat:
Kôd:
[ Kôd:
[ Kôd:
[ http://sourceforge.net/p/jsclipper/w...on-coordinates Citat:
Zatim, pogledaj u dokumentaciji za kreiranje poligona, za PolygonOptions objekat paths osobinu: https://developers.google.com/maps/d...PolygonOptions Citat:
Citat:
|
Branko hvala na odgovorima
a ovaj primer koji si ti dao jednostavno ne pravi dobr odstojanje kada se pravac prostire sever-jug, tj. taj prosor suzi a dok je u pravcu istok-zapad sve kako treba sto se i vidi sa slike ![]() A ovde sam ja pokusao da napravim upravo to sto si mi pokazao i imao sam taj isti problem: ![]() KOD:http://jsbin.com/uTATePe/6/edit Citat:
Takodje funcija polys2path bi trebalo da vraca tacke sa kojima moze da se kreira poligon a ulazni parametar su tacke linija tj. driving directions Sad sam u totalnom zaplecku... |
Citat:
|
re
Malo sam vec dosadan ali moram ovo da resim na ovaj ili onaj nacin
Pokusao sam da pretvorim tacke koje dobijam od google directionsa u format koji odgovara biblioteci JSclipper pa sam tako napisao: Kôd:
tacke = response.routes[0].overview_path; sa druge strane pokusao sam sa ovim kodom da nacrtam poligon jer sam funkciji draw() kao ulazni parametar dao var primer koji sadrzi cele brojeve Kôd:
primer = [[{"X":72,"Y":59.45},{"X":136,"Y":66},{"X":70,"Y":99},{"X":11,"Y":14},{"X":18,"Y":25}]]; Kôd:
console.log(draw(primer)); Kôd:
var svg=draw(primer); Koliko sam shvatio dobijam koordinate od googla pa ih prilagodjavam biblioteci da moze da se izvrsi pa kad dobijem rezultat opet moram da priagodim google mapi da bi mogao da se iscrta poligon;) Sa druge strane ovde imam pitanje u vezi requesta, koliko ce isctravanje poligona biti moguce na dnevnoj bazi ... koliki je limit? Da li mogu sa google map_overlay da jednostavno postavim ovo podrucje kao SVG elemenat na mapi i time izbegnem koriscenje crtanje poligona uz pomoc google api-ja vec da koristim map_overlay? |
Nešto kao:
Kôd:
var tacke = response.routes[0].overview_path, Citat:
Citat:
Kôd:
[ |
re
Ali @Branko koliko sam ja citao upravo ova funckcija vraca tacke sa kojima moze da se konstuise bilo SVG bilo Polygon pomocu google mapa:
Kôd:
// converts polygons to SVG path string Osim toga malopre sam probao da pozovem funckciju draw(primer) i time sam dobio kao rezultat tacke sa kojima mogu konstruisati poligon... Kakva je razlika izmedju konstuisanja SVG i google map poligona? |
kdo
Takodje, uradio sam i ovo da vidim kako funcionise...
Kôd:
rezultat = offsetted_polygon; Kôd:
[Array[341]] Znaci li ovo upravo to da ova biblioteka pravi offseted polygon koji sadrzi tacke poligona i da mi funkcija polys2path uopste nije potrebna? Takodje da li bi bilo dobro resenje da se kao na pocetku napravi SVG elemenat a da se ondak jednostavno postavi izmedju tacaka A i B sa google map_overlay i dobilo bi se to isto bez kreiranja poligona kao sto sam i pokusao... |
Citat:
Citat:
Citat:
Citat:
https://developers.google.com/maps/d...customoverlays Mislim da nećeš moći ovako, moraćeš da konvertuješ LatLng podatke u pixel-e. Pokušaj. Npr. nešto kako bi izgledala poly2path funkcija za konvertovanje podataka za crtanje google maps polygon-a: Kôd:
function polys2path (poly, scale) { |
img
Uspeo sam da dobijem nesto ali daleko od onog sto mi treba:
![]() DEMO:http://jsbin.com/uTATePe/50 UPDATE: BRANKO HVALA NAJVISE, Konacno radi i sam neznam kako :) mislio sam da jos treba da podesim da se konvertuje X i Y u lat i lng pa da se proseldi funciji za cratnje poligona ali radi i bez toga: ![]() |
Citat:
|
da da da, hvala jos jedom na pomoci
|
Vreme je GMT +2. Trenutno vreme je 16:11. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.