Avatar billede angelenglen Nybegynder
19. februar 2014 - 15:48 Der er 5 kommentarer og
1 løsning

Find ud af om polyline går gennem polygon

Jeg har nogle polylines (en række koordinater, der repræsenterer en rute)

Jeg har også en polygon (et rektangel lavet ud fra 4 koordinater)

De stammer fra et Google Map (API v3).

Jeg har så brug for at vide om nogen af mine polylines krydser eller overlapper polygonen, og i så fald hvilke(n) der overlapper/krydser.


Polygon koordinater (eksempel):
55.409900930568234, 10.37313580127784
55.409900930568234, 10.366806598722178
55.40630766943176, 10.366806598722178
55.40630766943176, 10.37313580127784


Polygonen genereres fx ud fra følgende kode:
    //lav en cirkel og gem bounds fra den
    var cb = new google.maps.Circle({
        center: new google.maps.LatLng(55.4081043, 10.3699712),
        radius: 200
    }).getBounds();

    //lav liste over koordinater der repræsenterer bounds på cirklen:
    var polyCoords = [
        new google.maps.LatLng(cb.getNorthEast().d, cb.getNorthEast().e),
        new google.maps.LatLng(cb.getNorthEast().d, cb.getSouthWest().e),
        new google.maps.LatLng(cb.getSouthWest().d, cb.getSouthWest().e),
        new google.maps.LatLng(cb.getSouthWest().d, cb.getNorthEast().e)
    ];

    //lav en polygon der viser bounds for cirklen:
    var radiusPoly = new google.maps.Polygon({
        paths: polyCoords,
        strokeColor: '#FF0000',
        strokeOpacity: 0.8,
        strokeWeight: 2,
        fillColor: '#FF0000',
        fillOpacity: 0.35,
        map: map
    });





Jeg håber på en funktion der tager imod polygonen og polyline-array'et, og returnerer en liste over hvilke polylines der rammer polygonen.
Altså noget der kaldes i stil med:
var result = checkForIntersects(radiusPoly, polylines);

Resultatet kunne så fx være "0,1" hvis de første to rammer, eller bare "" hvis ingen rammer.


Her er nogle eksempel polylines (ruter).
Mindst én af disse rammer polygonen, men det skal selvfølgelig også virke hvis ingen rammer den.
var polylines = [];
var path = [
    new google.maps.LatLng(55.42989000000001, 10.517990000000001),
    new google.maps.LatLng(55.43186000000001, 10.514410000000002),
    new google.maps.LatLng(55.43206000000001, 10.514100000000001),
    new google.maps.LatLng(55.43245, 10.513770000000001),
    new google.maps.LatLng(55.43267, 10.5135),
    new google.maps.LatLng(55.4331, 10.512770000000002),
    new google.maps.LatLng(55.43375, 10.511600000000001),
    new google.maps.LatLng(55.43385000000001, 10.51138),
    new google.maps.LatLng(55.43404, 10.51116),
    new google.maps.LatLng(55.434340000000006, 10.51093),
    new google.maps.LatLng(55.434540000000005, 10.510720000000001),
    new google.maps.LatLng(55.43491, 10.510190000000001),
    new google.maps.LatLng(55.43531, 10.50956),
    new google.maps.LatLng(55.43551000000001, 10.509390000000002),
    new google.maps.LatLng(55.435880000000004, 10.50915),
    new google.maps.LatLng(55.43620000000001, 10.50885),
    new google.maps.LatLng(55.436280000000004, 10.50872),
    new google.maps.LatLng(55.436420000000005, 10.50848),
    new google.maps.LatLng(55.43656000000001, 10.508170000000002),
    new google.maps.LatLng(55.43710000000001, 10.50679),
    new google.maps.LatLng(55.4376, 10.505930000000001),
    new google.maps.LatLng(55.437670000000004, 10.50581),
    new google.maps.LatLng(55.437360000000005, 10.503950000000001),
    new google.maps.LatLng(55.437090000000005, 10.50253),
    new google.maps.LatLng(55.436510000000006, 10.498850000000001),
    new google.maps.LatLng(55.436240000000005, 10.497190000000002),
    new google.maps.LatLng(55.43518, 10.491650000000002),
    new google.maps.LatLng(55.43488000000001, 10.490060000000001),
    new google.maps.LatLng(55.433240000000005, 10.481480000000001),
    new google.maps.LatLng(55.432950000000005, 10.480060000000002),
    new google.maps.LatLng(55.432460000000006, 10.47816),
    new google.maps.LatLng(55.43178, 10.47591),
    new google.maps.LatLng(55.43150000000001, 10.475050000000001),
    new google.maps.LatLng(55.431380000000004, 10.474580000000001),
    new google.maps.LatLng(55.43112000000001, 10.473650000000001),
    new google.maps.LatLng(55.43076000000001, 10.472460000000002),
    new google.maps.LatLng(55.43054000000001, 10.471710000000002),
    new google.maps.LatLng(55.430260000000004, 10.4709),
    new google.maps.LatLng(55.430020000000006, 10.470130000000001),
    new google.maps.LatLng(55.42972, 10.46931),
    new google.maps.LatLng(55.42956, 10.468900000000001),
    new google.maps.LatLng(55.427760000000006, 10.463140000000001),
    new google.maps.LatLng(55.427490000000006, 10.46227),
    new google.maps.LatLng(55.42738000000001, 10.461870000000001),
    new google.maps.LatLng(55.427150000000005, 10.46095),
    new google.maps.LatLng(55.42691000000001, 10.460040000000001),
    new google.maps.LatLng(55.426570000000005, 10.45879),
    new google.maps.LatLng(55.426320000000004, 10.457970000000001),
    new google.maps.LatLng(55.425340000000006, 10.45404),
    new google.maps.LatLng(55.42513, 10.453100000000001),
    new google.maps.LatLng(55.424730000000004, 10.451490000000002),
    new google.maps.LatLng(55.42456000000001, 10.450970000000002),
    new google.maps.LatLng(55.42441, 10.450270000000002),
    new google.maps.LatLng(55.42347, 10.446530000000001),
    new google.maps.LatLng(55.423, 10.44467),
    new google.maps.LatLng(55.42298, 10.444550000000001),
    new google.maps.LatLng(55.42286000000001, 10.443950000000001),
    new google.maps.LatLng(55.4226, 10.442900000000002),
    new google.maps.LatLng(55.422090000000004, 10.44095),
    new google.maps.LatLng(55.42197, 10.44059),
    new google.maps.LatLng(55.42152, 10.438830000000001),
    new google.maps.LatLng(55.42108, 10.437100000000001),
    new google.maps.LatLng(55.4209, 10.43621),
    new google.maps.LatLng(55.42058, 10.434830000000002),
    new google.maps.LatLng(55.42042000000001, 10.4342),
    new google.maps.LatLng(55.419990000000006, 10.43274),
    new google.maps.LatLng(55.41899000000001, 10.42805),
    new google.maps.LatLng(55.418800000000005, 10.42727),
    new google.maps.LatLng(55.418760000000006, 10.42708),
    new google.maps.LatLng(55.41859, 10.42636),
    new google.maps.LatLng(55.418400000000005, 10.425740000000001),
    new google.maps.LatLng(55.418040000000005, 10.42454),
    new google.maps.LatLng(55.417730000000006, 10.423580000000001),
    new google.maps.LatLng(55.41742000000001, 10.42275),
    new google.maps.LatLng(55.41668000000001, 10.42059),
    new google.maps.LatLng(55.41597, 10.418600000000001),
    new google.maps.LatLng(55.41583000000001, 10.41834),
    new google.maps.LatLng(55.41525000000001, 10.41662),
    new google.maps.LatLng(55.41498000000001, 10.415920000000002),
    new google.maps.LatLng(55.414680000000004, 10.41525),
    new google.maps.LatLng(55.41434, 10.414620000000001),
    new google.maps.LatLng(55.413830000000004, 10.41379),
    new google.maps.LatLng(55.41302, 10.41258),
    new google.maps.LatLng(55.41243000000001, 10.411700000000002),
    new google.maps.LatLng(55.41163, 10.41051),
    new google.maps.LatLng(55.411620000000006, 10.41038),
    new google.maps.LatLng(55.41134, 10.41),
    new google.maps.LatLng(55.41136, 10.409930000000001),
    new google.maps.LatLng(55.41138, 10.40981),
    new google.maps.LatLng(55.411370000000005, 10.40962),
    new google.maps.LatLng(55.41133000000001, 10.40953),
    new google.maps.LatLng(55.41124000000001, 10.40943),
    new google.maps.LatLng(55.411150000000006, 10.40939),
    new google.maps.LatLng(55.411100000000005, 10.409410000000001),
    new google.maps.LatLng(55.41105, 10.40947),
    new google.maps.LatLng(55.41075000000001, 10.408900000000001),
    new google.maps.LatLng(55.410680000000006, 10.408840000000001),
    new google.maps.LatLng(55.40955, 10.4067),
    new google.maps.LatLng(55.40887000000001, 10.40543),
    new google.maps.LatLng(55.408750000000005, 10.40516),
    new google.maps.LatLng(55.40858000000001, 10.40497),
    new google.maps.LatLng(55.40833000000001, 10.40469),
    new google.maps.LatLng(55.407270000000004, 10.40376),
    new google.maps.LatLng(55.406850000000006, 10.403400000000001),
    new google.maps.LatLng(55.40659, 10.403220000000001),
    new google.maps.LatLng(55.40607000000001, 10.403120000000001),
    new google.maps.LatLng(55.405150000000006, 10.4029),
    new google.maps.LatLng(55.404880000000006, 10.402750000000001),
    new google.maps.LatLng(55.40464000000001, 10.402560000000001),
    new google.maps.LatLng(55.404340000000005, 10.402140000000001),
    new google.maps.LatLng(55.403960000000005, 10.401150000000001),
    new google.maps.LatLng(55.403890000000004, 10.400950000000002),
    new google.maps.LatLng(55.40388000000001, 10.400810000000002),
    new google.maps.LatLng(55.403690000000005, 10.400260000000001),
    new google.maps.LatLng(55.40364, 10.40005),
    new google.maps.LatLng(55.40359, 10.39958),
    new google.maps.LatLng(55.403560000000006, 10.399270000000001),
    new google.maps.LatLng(55.40353, 10.3991),
    new google.maps.LatLng(55.403180000000006, 10.39503),
    new google.maps.LatLng(55.40307000000001, 10.394350000000001),
    new google.maps.LatLng(55.40294000000001, 10.393690000000001),
    new google.maps.LatLng(55.40294000000001, 10.393550000000001),
    new google.maps.LatLng(55.40303, 10.393320000000001),
    new google.maps.LatLng(55.40352000000001, 10.39174),
    new google.maps.LatLng(55.403110000000005, 10.391340000000001),
    new google.maps.LatLng(55.40306, 10.391210000000001),
    new google.maps.LatLng(55.40288, 10.39085),
    new google.maps.LatLng(55.402800000000006, 10.390550000000001),
    new google.maps.LatLng(55.402910000000006, 10.390440000000002),
    new google.maps.LatLng(55.40314000000001, 10.390130000000001),
    new google.maps.LatLng(55.4033, 10.389840000000001),
    new google.maps.LatLng(55.40341000000001, 10.389550000000002),
    new google.maps.LatLng(55.40366, 10.38893),
    new google.maps.LatLng(55.40379000000001, 10.388610000000002),
    new google.maps.LatLng(55.40417000000001, 10.38765),
    new google.maps.LatLng(55.404360000000004, 10.38723),
    new google.maps.LatLng(55.404540000000004, 10.386940000000001),
    new google.maps.LatLng(55.40464000000001, 10.38682),
    new google.maps.LatLng(55.40511000000001, 10.38616),
    new google.maps.LatLng(55.405710000000006, 10.38531),
    new google.maps.LatLng(55.406090000000006, 10.384910000000001),
    new google.maps.LatLng(55.406150000000004, 10.38485),
    new google.maps.LatLng(55.406130000000005, 10.384680000000001),
    new google.maps.LatLng(55.40599, 10.3839),
    new google.maps.LatLng(55.40592, 10.383560000000001),
    new google.maps.LatLng(55.40579, 10.38279),
    new google.maps.LatLng(55.40560000000001, 10.38124),
    new google.maps.LatLng(55.40552, 10.380360000000001),
    new google.maps.LatLng(55.40552, 10.379760000000001),
    new google.maps.LatLng(55.405530000000006, 10.37922),
    new google.maps.LatLng(55.40551000000001, 10.378620000000002),
    new google.maps.LatLng(55.40545, 10.37795),
    new google.maps.LatLng(55.40543, 10.3778),
    new google.maps.LatLng(55.40552, 10.377740000000001),
    new google.maps.LatLng(55.40567000000001, 10.377630000000002),
    new google.maps.LatLng(55.40598000000001, 10.377320000000001),
    new google.maps.LatLng(55.406150000000004, 10.37711),
    new google.maps.LatLng(55.406290000000006, 10.376890000000001),
    new google.maps.LatLng(55.406670000000005, 10.376320000000002),
    new google.maps.LatLng(55.406710000000004, 10.376140000000001),
    new google.maps.LatLng(55.40686, 10.375900000000001),
    new google.maps.LatLng(55.407230000000006, 10.37527),
    new google.maps.LatLng(55.40744, 10.37509),
    new google.maps.LatLng(55.4076, 10.375020000000001),
    new google.maps.LatLng(55.407810000000005, 10.375010000000001),
    new google.maps.LatLng(55.409060000000004, 10.375100000000002),
    new google.maps.LatLng(55.410050000000005, 10.37514),
    new google.maps.LatLng(55.41019000000001, 10.37512),
    new google.maps.LatLng(55.410320000000006, 10.375060000000001),
    new google.maps.LatLng(55.410540000000005, 10.37494),
    new google.maps.LatLng(55.41071, 10.374770000000002),
    new google.maps.LatLng(55.410900000000005, 10.37453),
    new google.maps.LatLng(55.411060000000006, 10.374260000000001),
    new google.maps.LatLng(55.411210000000004, 10.37395),
    new google.maps.LatLng(55.411350000000006, 10.37353),
    new google.maps.LatLng(55.41142000000001, 10.37325),
    new google.maps.LatLng(55.41149000000001, 10.372800000000002),
    new google.maps.LatLng(55.41152, 10.372470000000002),
    new google.maps.LatLng(55.411530000000006, 10.369670000000001),
    new google.maps.LatLng(55.41151000000001, 10.368500000000001),
    new google.maps.LatLng(55.41348000000001, 10.36852),
    new google.maps.LatLng(55.41395000000001, 10.368530000000002),
    new google.maps.LatLng(55.41512, 10.368540000000001),
    new google.maps.LatLng(55.416540000000005, 10.368530000000002),
    new google.maps.LatLng(55.417010000000005, 10.368530000000002),
    new google.maps.LatLng(55.41803, 10.36869),
    new google.maps.LatLng(55.42005, 10.369000000000002),
    new google.maps.LatLng(55.420700000000004, 10.369140000000002),
    new google.maps.LatLng(55.42132, 10.369340000000001),
    new google.maps.LatLng(55.42172000000001, 10.369530000000001),
    new google.maps.LatLng(55.42212000000001, 10.369760000000001),
    new google.maps.LatLng(55.42259000000001, 10.370090000000001),
    new google.maps.LatLng(55.42298, 10.370420000000001),
    new google.maps.LatLng(55.42334, 10.370780000000002),
    new google.maps.LatLng(55.42380000000001, 10.37133),
    new google.maps.LatLng(55.42419, 10.37185),
    new google.maps.LatLng(55.42512000000001, 10.373080000000002),
    new google.maps.LatLng(55.425700000000006, 10.37376),
    new google.maps.LatLng(55.426030000000004, 10.374120000000001),
    new google.maps.LatLng(55.42624000000001, 10.374310000000001),
    new google.maps.LatLng(55.42716000000001, 10.375110000000001),
    new google.maps.LatLng(55.42746, 10.375350000000001),
    new google.maps.LatLng(55.42772000000001, 10.37554),
    new google.maps.LatLng(55.427910000000004, 10.37564),
    new google.maps.LatLng(55.428110000000004, 10.375770000000001),
    new google.maps.LatLng(55.4288, 10.37612),
    new google.maps.LatLng(55.4292, 10.376290000000001),
    new google.maps.LatLng(55.42998000000001, 10.37653),
    new google.maps.LatLng(55.43048, 10.37664),
    new google.maps.LatLng(55.431090000000005, 10.376710000000001),
    new google.maps.LatLng(55.43178, 10.376710000000001),
    new google.maps.LatLng(55.43242000000001, 10.37667),
    new google.maps.LatLng(55.432900000000004, 10.37662),
    new google.maps.LatLng(55.433310000000006, 10.376510000000001),
    new google.maps.LatLng(55.435120000000005, 10.375900000000001),
    new google.maps.LatLng(55.43564000000001, 10.37575),
    new google.maps.LatLng(55.43645000000001, 10.37559),
    new google.maps.LatLng(55.43715, 10.375530000000001),
    new google.maps.LatLng(55.437670000000004, 10.375620000000001),
    new google.maps.LatLng(55.43808000000001, 10.37564),
    new google.maps.LatLng(55.43907000000001, 10.37584),
    new google.maps.LatLng(55.440020000000004, 10.376040000000001),
    new google.maps.LatLng(55.44494, 10.37706),
    new google.maps.LatLng(55.44568, 10.37724),
    new google.maps.LatLng(55.446380000000005, 10.377500000000001),
    new google.maps.LatLng(55.44746000000001, 10.37785),
    new google.maps.LatLng(55.448240000000006, 10.37817),
    new google.maps.LatLng(55.44892, 10.37856),
    new google.maps.LatLng(55.449470000000005, 10.378900000000002),
    new google.maps.LatLng(55.449270000000006, 10.38016),
    new google.maps.LatLng(55.449180000000005, 10.38108),
    new google.maps.LatLng(55.44908, 10.382850000000001),
    new google.maps.LatLng(55.44903000000001, 10.385420000000002),
    new google.maps.LatLng(55.4489, 10.386610000000001),
    new google.maps.LatLng(55.448840000000004, 10.387390000000002),
    new google.maps.LatLng(55.448840000000004, 10.388520000000002),
    new google.maps.LatLng(55.44886, 10.388670000000001),
    new google.maps.LatLng(55.45102000000001, 10.387030000000001),
    new google.maps.LatLng(55.45105, 10.3872),
    new google.maps.LatLng(55.45112, 10.396410000000001),
    new google.maps.LatLng(55.451100000000004, 10.39672),
    new google.maps.LatLng(55.45100000000001, 10.397160000000001),
    new google.maps.LatLng(55.45100000000001, 10.39738),
    new google.maps.LatLng(55.45114, 10.399130000000001)
];
polylines.push(new google.maps.Polyline({
        path: path,
        strokeColor: '#' + Math.floor(Math.random() * 16777215).toString(16), //random color...
        strokeOpacity: 0.8,
        strokeWeight: 3,
        map: map
    })
);

path = [
    new google.maps.LatLng(55.44147, 10.32235),
    new google.maps.LatLng(55.44154, 10.321940000000001),
    new google.maps.LatLng(55.44164000000001, 10.32158),
    new google.maps.LatLng(55.441750000000006, 10.32126),
    new google.maps.LatLng(55.441990000000004, 10.32065),
    new google.maps.LatLng(55.44207, 10.32028),
    new google.maps.LatLng(55.44220000000001, 10.31982),
    new google.maps.LatLng(55.442280000000004, 10.319560000000001),
    new google.maps.LatLng(55.442330000000005, 10.319130000000001),
    new google.maps.LatLng(55.442370000000004, 10.317900000000002),
    new google.maps.LatLng(55.44241, 10.31761),
    new google.maps.LatLng(55.442550000000004, 10.316970000000001),
    new google.maps.LatLng(55.4427, 10.316220000000001),
    new google.maps.LatLng(55.442690000000006, 10.31615),
    new google.maps.LatLng(55.44265000000001, 10.31611),
    new google.maps.LatLng(55.442060000000005, 10.31569),
    new google.maps.LatLng(55.441700000000004, 10.315430000000001),
    new google.maps.LatLng(55.441280000000006, 10.315140000000001),
    new google.maps.LatLng(55.440990000000006, 10.31492),
    new google.maps.LatLng(55.44077000000001, 10.31478),
    new google.maps.LatLng(55.44064, 10.31473),
    new google.maps.LatLng(55.440560000000005, 10.31474),
    new google.maps.LatLng(55.44033, 10.314670000000001),
    new google.maps.LatLng(55.43972, 10.31441),
    new google.maps.LatLng(55.43911000000001, 10.31414),
    new google.maps.LatLng(55.438250000000004, 10.313740000000001),
    new google.maps.LatLng(55.438030000000005, 10.31367),
    new google.maps.LatLng(55.43789, 10.313640000000001),
    new google.maps.LatLng(55.4378, 10.31365),
    new google.maps.LatLng(55.437670000000004, 10.31362),
    new google.maps.LatLng(55.43762, 10.313550000000001),
    new google.maps.LatLng(55.437560000000005, 10.313350000000002),
    new google.maps.LatLng(55.437960000000004, 10.312830000000002),
    new google.maps.LatLng(55.43797000000001, 10.312740000000002),
    new google.maps.LatLng(55.43811, 10.312570000000001),
    new google.maps.LatLng(55.43891000000001, 10.311430000000001),
    new google.maps.LatLng(55.438970000000005, 10.311440000000001),
    new google.maps.LatLng(55.43914, 10.311200000000001),
    new google.maps.LatLng(55.439330000000005, 10.31075),
    new google.maps.LatLng(55.43936000000001, 10.31066),
    new google.maps.LatLng(55.44008, 10.30869),
    new google.maps.LatLng(55.44008, 10.308610000000002),
    new google.maps.LatLng(55.440160000000006, 10.3084),
    new google.maps.LatLng(55.44095000000001, 10.30616),
    new google.maps.LatLng(55.441, 10.306140000000001),
    new google.maps.LatLng(55.44149, 10.3048),
    new google.maps.LatLng(55.441770000000005, 10.30409),
    new google.maps.LatLng(55.44180000000001, 10.30409),
    new google.maps.LatLng(55.44185, 10.30408),
    new google.maps.LatLng(55.44191000000001, 10.30399),
    new google.maps.LatLng(55.441930000000006, 10.30386),
    new google.maps.LatLng(55.44191000000001, 10.303700000000001),
    new google.maps.LatLng(55.44185, 10.303640000000001),
    new google.maps.LatLng(55.44180000000001, 10.30363),
    new google.maps.LatLng(55.441750000000006, 10.303640000000001),
    new google.maps.LatLng(55.441700000000004, 10.303690000000001),
    new google.maps.LatLng(55.44153000000001, 10.303500000000001),
    new google.maps.LatLng(55.44149, 10.303500000000001),
    new google.maps.LatLng(55.441460000000006, 10.303460000000001),
    new google.maps.LatLng(55.44122, 10.303170000000001),
    new google.maps.LatLng(55.44039000000001, 10.302230000000002),
    new google.maps.LatLng(55.44037, 10.30217),
    new google.maps.LatLng(55.43966, 10.30138),
    new google.maps.LatLng(55.43959, 10.301290000000002),
    new google.maps.LatLng(55.439550000000004, 10.301300000000001),
    new google.maps.LatLng(55.43845, 10.30006),
    new google.maps.LatLng(55.43567, 10.296940000000001),
    new google.maps.LatLng(55.43509, 10.29631),
    new google.maps.LatLng(55.434760000000004, 10.29592),
    new google.maps.LatLng(55.433440000000004, 10.29446),
    new google.maps.LatLng(55.433170000000004, 10.294110000000002),
    new google.maps.LatLng(55.43287, 10.293600000000001),
    new google.maps.LatLng(55.432140000000004, 10.29176),
    new google.maps.LatLng(55.431740000000005, 10.2908),
    new google.maps.LatLng(55.431470000000004, 10.29024),
    new google.maps.LatLng(55.430240000000005, 10.28789),
    new google.maps.LatLng(55.42982000000001, 10.287120000000002),
    new google.maps.LatLng(55.429660000000005, 10.286890000000001),
    new google.maps.LatLng(55.42942000000001, 10.286650000000002),
    new google.maps.LatLng(55.42918, 10.286510000000002),
    new google.maps.LatLng(55.428490000000004, 10.286240000000001),
    new google.maps.LatLng(55.428270000000005, 10.28608),
    new google.maps.LatLng(55.428070000000005, 10.285820000000001),
    new google.maps.LatLng(55.42793, 10.285480000000002),
    new google.maps.LatLng(55.427820000000004, 10.285110000000001),
    new google.maps.LatLng(55.427710000000005, 10.284820000000002),
    new google.maps.LatLng(55.42761, 10.284630000000002),
    new google.maps.LatLng(55.427510000000005, 10.284500000000001),
    new google.maps.LatLng(55.427400000000006, 10.28442),
    new google.maps.LatLng(55.426750000000006, 10.284220000000001),
    new google.maps.LatLng(55.4262, 10.283980000000001),
    new google.maps.LatLng(55.425810000000006, 10.283760000000001),
    new google.maps.LatLng(55.42284000000001, 10.28292),
    new google.maps.LatLng(55.42119, 10.282390000000001),
    new google.maps.LatLng(55.42099, 10.28233),
    new google.maps.LatLng(55.42100000000001, 10.281740000000001),
    new google.maps.LatLng(55.42096000000001, 10.28077),
    new google.maps.LatLng(55.420770000000005, 10.27889),
    new google.maps.LatLng(55.420680000000004, 10.278120000000001),
    new google.maps.LatLng(55.420370000000005, 10.274890000000001),
    new google.maps.LatLng(55.420210000000004, 10.27358),
    new google.maps.LatLng(55.42014, 10.272920000000001),
    new google.maps.LatLng(55.420100000000005, 10.272580000000001),
    new google.maps.LatLng(55.420030000000004, 10.272390000000001),
    new google.maps.LatLng(55.41969, 10.27223),
    new google.maps.LatLng(55.41912000000001, 10.27186),
    new google.maps.LatLng(55.41903000000001, 10.27186),
    new google.maps.LatLng(55.41893, 10.2718),
    new google.maps.LatLng(55.41801, 10.271260000000002),
    new google.maps.LatLng(55.41622, 10.270180000000002),
    new google.maps.LatLng(55.41586, 10.269950000000001),
    new google.maps.LatLng(55.414190000000005, 10.26898),
    new google.maps.LatLng(55.413180000000004, 10.26837),
    new google.maps.LatLng(55.41288, 10.26814),
    new google.maps.LatLng(55.41259, 10.26783),
    new google.maps.LatLng(55.412060000000004, 10.267240000000001),
    new google.maps.LatLng(55.40995, 10.264840000000001),
    new google.maps.LatLng(55.409510000000004, 10.26439),
    new google.maps.LatLng(55.408930000000005, 10.263900000000001),
    new google.maps.LatLng(55.40874, 10.26374),
    new google.maps.LatLng(55.40628, 10.26257),
    new google.maps.LatLng(55.40542000000001, 10.262170000000001),
    new google.maps.LatLng(55.40439000000001, 10.26172),
    new google.maps.LatLng(55.40381000000001, 10.261470000000001),
    new google.maps.LatLng(55.40296000000001, 10.26107),
    new google.maps.LatLng(55.402390000000004, 10.260850000000001),
    new google.maps.LatLng(55.398680000000006, 10.259960000000001),
    new google.maps.LatLng(55.39793, 10.25979),
    new google.maps.LatLng(55.397330000000004, 10.259720000000002),
    new google.maps.LatLng(55.396930000000005, 10.259720000000002),
    new google.maps.LatLng(55.39654, 10.2598),
    new google.maps.LatLng(55.39612, 10.25993),
    new google.maps.LatLng(55.395520000000005, 10.260200000000001),
    new google.maps.LatLng(55.393100000000004, 10.261370000000001),
    new google.maps.LatLng(55.39284000000001, 10.261500000000002),
    new google.maps.LatLng(55.391830000000006, 10.261970000000002),
    new google.maps.LatLng(55.391630000000006, 10.261980000000001),
    new google.maps.LatLng(55.39135, 10.261930000000001),
    new google.maps.LatLng(55.39094000000001, 10.261780000000002),
    new google.maps.LatLng(55.3907, 10.26171),
    new google.maps.LatLng(55.39059, 10.26171),
    new google.maps.LatLng(55.39031000000001, 10.261790000000001),
    new google.maps.LatLng(55.390060000000005, 10.261830000000002),
    new google.maps.LatLng(55.389010000000006, 10.262170000000001),
    new google.maps.LatLng(55.385960000000004, 10.263160000000001),
    new google.maps.LatLng(55.382720000000006, 10.26417),
    new google.maps.LatLng(55.381440000000005, 10.26457),
    new google.maps.LatLng(55.38121, 10.264660000000001)
];
polylines.push(new google.maps.Polyline({
        path: path,
        strokeColor: '#' + Math.floor(Math.random() * 16777215).toString(16), //random color...
        strokeOpacity: 0.8,
        strokeWeight: 3,
        map: map
    })
);

path = [
    new google.maps.LatLng(55.41402000000001, 10.51787),
    new google.maps.LatLng(55.41391, 10.517740000000002),
    new google.maps.LatLng(55.413090000000004, 10.517000000000001),
    new google.maps.LatLng(55.412600000000005, 10.516520000000002),
    new google.maps.LatLng(55.41171000000001, 10.51562),
    new google.maps.LatLng(55.41006, 10.51393),
    new google.maps.LatLng(55.409090000000006, 10.51298),
    new google.maps.LatLng(55.408570000000005, 10.512530000000002),
    new google.maps.LatLng(55.40860000000001, 10.51238),
    new google.maps.LatLng(55.40867000000001, 10.511890000000001),
    new google.maps.LatLng(55.408390000000004, 10.511830000000002),
    new google.maps.LatLng(55.40778, 10.511600000000001),
    new google.maps.LatLng(55.40742, 10.511410000000001),
    new google.maps.LatLng(55.407070000000004, 10.51115),
    new google.maps.LatLng(55.406690000000005, 10.511050000000001),
    new google.maps.LatLng(55.4063, 10.511040000000001),
    new google.maps.LatLng(55.405910000000006, 10.510990000000001),
    new google.maps.LatLng(55.40540000000001, 10.510890000000002),
    new google.maps.LatLng(55.404520000000005, 10.51064),
    new google.maps.LatLng(55.40424, 10.51063),
    new google.maps.LatLng(55.40052000000001, 10.511190000000001),
    new google.maps.LatLng(55.39914, 10.51134),
    new google.maps.LatLng(55.3988, 10.510110000000001),
    new google.maps.LatLng(55.397670000000005, 10.506150000000002),
    new google.maps.LatLng(55.39717, 10.50436),
    new google.maps.LatLng(55.39714000000001, 10.50417),
    new google.maps.LatLng(55.397130000000004, 10.503820000000001),
    new google.maps.LatLng(55.397110000000005, 10.50336),
    new google.maps.LatLng(55.39703000000001, 10.50272),
    new google.maps.LatLng(55.396640000000005, 10.50032),
    new google.maps.LatLng(55.396390000000004, 10.498930000000001),
    new google.maps.LatLng(55.39611000000001, 10.4976),
    new google.maps.LatLng(55.39609000000001, 10.49736),
    new google.maps.LatLng(55.39609000000001, 10.49703),
    new google.maps.LatLng(55.39616, 10.495230000000001),
    new google.maps.LatLng(55.39652, 10.48549),
    new google.maps.LatLng(55.39687000000001, 10.482850000000001),
    new google.maps.LatLng(55.398320000000005, 10.472100000000001),
    new google.maps.LatLng(55.398920000000004, 10.467630000000002),
    new google.maps.LatLng(55.399010000000004, 10.466940000000001),
    new google.maps.LatLng(55.39907, 10.466190000000001),
    new google.maps.LatLng(55.399060000000006, 10.46503),
    new google.maps.LatLng(55.399100000000004, 10.46452),
    new google.maps.LatLng(55.39913000000001, 10.464200000000002),
    new google.maps.LatLng(55.39922000000001, 10.4638),
    new google.maps.LatLng(55.399300000000004, 10.46367),
    new google.maps.LatLng(55.399550000000005, 10.46353),
    new google.maps.LatLng(55.399770000000004, 10.46334),
    new google.maps.LatLng(55.400000000000006, 10.4631),
    new google.maps.LatLng(55.39941, 10.4624),
    new google.maps.LatLng(55.399300000000004, 10.462190000000001),
    new google.maps.LatLng(55.39932, 10.46213),
    new google.maps.LatLng(55.39931000000001, 10.46208),
    new google.maps.LatLng(55.399280000000005, 10.462050000000001),
    new google.maps.LatLng(55.399260000000005, 10.462050000000001),
    new google.maps.LatLng(55.39922000000001, 10.46174),
    new google.maps.LatLng(55.399170000000005, 10.46071),
    new google.maps.LatLng(55.399170000000005, 10.460170000000002),
    new google.maps.LatLng(55.39922000000001, 10.459570000000001),
    new google.maps.LatLng(55.399420000000006, 10.457980000000001),
    new google.maps.LatLng(55.399620000000006, 10.45626),
    new google.maps.LatLng(55.3997, 10.45556),
    new google.maps.LatLng(55.39988, 10.45438),
    new google.maps.LatLng(55.40064, 10.450550000000002),
    new google.maps.LatLng(55.401340000000005, 10.446900000000001),
    new google.maps.LatLng(55.40142, 10.44645),
    new google.maps.LatLng(55.40167, 10.444500000000001),
    new google.maps.LatLng(55.401720000000005, 10.44411),
    new google.maps.LatLng(55.401900000000005, 10.44331),
    new google.maps.LatLng(55.40195000000001, 10.442960000000001),
    new google.maps.LatLng(55.40202000000001, 10.44233),
    new google.maps.LatLng(55.402170000000005, 10.440900000000001),
    new google.maps.LatLng(55.402240000000006, 10.4395),
    new google.maps.LatLng(55.40223, 10.43819),
    new google.maps.LatLng(55.402120000000004, 10.432730000000001),
    new google.maps.LatLng(55.40196, 10.425320000000001),
    new google.maps.LatLng(55.4018, 10.42364),
    new google.maps.LatLng(55.40157000000001, 10.4221),
    new google.maps.LatLng(55.401180000000004, 10.42017),
    new google.maps.LatLng(55.40054000000001, 10.417100000000001),
    new google.maps.LatLng(55.400040000000004, 10.41483),
    new google.maps.LatLng(55.400670000000005, 10.41449),
    new google.maps.LatLng(55.40081000000001, 10.41436),
    new google.maps.LatLng(55.40090000000001, 10.41422),
    new google.maps.LatLng(55.40106, 10.413780000000001),
    new google.maps.LatLng(55.4014, 10.41229),
    new google.maps.LatLng(55.401680000000006, 10.411050000000001),
    new google.maps.LatLng(55.40191000000001, 10.40975),
    new google.maps.LatLng(55.40211000000001, 10.40821),
    new google.maps.LatLng(55.402240000000006, 10.406580000000002),
    new google.maps.LatLng(55.40227, 10.40562),
    new google.maps.LatLng(55.40227, 10.40408),
    new google.maps.LatLng(55.402210000000004, 10.40285),
    new google.maps.LatLng(55.402100000000004, 10.401560000000002),
    new google.maps.LatLng(55.40198, 10.400540000000001),
    new google.maps.LatLng(55.401540000000004, 10.39633),
    new google.maps.LatLng(55.40146000000001, 10.395560000000001),
    new google.maps.LatLng(55.400740000000006, 10.394210000000001),
    new google.maps.LatLng(55.400470000000006, 10.3938),
    new google.maps.LatLng(55.400310000000005, 10.39344),
    new google.maps.LatLng(55.400240000000004, 10.393270000000001),
    new google.maps.LatLng(55.40026, 10.39324),
    new google.maps.LatLng(55.40028, 10.393170000000001),
    new google.maps.LatLng(55.40028, 10.39309),
    new google.maps.LatLng(55.400270000000006, 10.393030000000001),
    new google.maps.LatLng(55.40035, 10.392930000000002),
    new google.maps.LatLng(55.40052000000001, 10.39264),
    new google.maps.LatLng(55.400670000000005, 10.39216),
    new google.maps.LatLng(55.40084, 10.391300000000001),
    new google.maps.LatLng(55.400920000000006, 10.39079),
    new google.maps.LatLng(55.40099000000001, 10.39005),
    new google.maps.LatLng(55.401, 10.389700000000001),
    new google.maps.LatLng(55.40102, 10.387530000000002),
    new google.maps.LatLng(55.40101000000001, 10.386270000000001),
    new google.maps.LatLng(55.400940000000006, 10.385280000000002),
    new google.maps.LatLng(55.400890000000004, 10.385010000000001),
    new google.maps.LatLng(55.40086, 10.384640000000001),
    new google.maps.LatLng(55.40079000000001, 10.384310000000001),
    new google.maps.LatLng(55.400580000000005, 10.38366),
    new google.maps.LatLng(55.40043000000001, 10.38321),
    new google.maps.LatLng(55.400110000000005, 10.38352),
    new google.maps.LatLng(55.399480000000004, 10.384110000000002),
    new google.maps.LatLng(55.399100000000004, 10.38443),
    new google.maps.LatLng(55.398880000000005, 10.384640000000001),
    new google.maps.LatLng(55.398630000000004, 10.38479),
    new google.maps.LatLng(55.39846000000001, 10.384870000000001),
    new google.maps.LatLng(55.3982, 10.384920000000001),
    new google.maps.LatLng(55.39819000000001, 10.38457),
    new google.maps.LatLng(55.39824, 10.38272),
    new google.maps.LatLng(55.398210000000006, 10.38226),
    new google.maps.LatLng(55.39808000000001, 10.381770000000001),
    new google.maps.LatLng(55.397690000000004, 10.38057),
    new google.maps.LatLng(55.39735, 10.37955),
    new google.maps.LatLng(55.39728, 10.379370000000002),
    new google.maps.LatLng(55.39703000000001, 10.37902),
    new google.maps.LatLng(55.396930000000005, 10.37893),
    new google.maps.LatLng(55.396820000000005, 10.378870000000001),
    new google.maps.LatLng(55.396620000000006, 10.37883),
    new google.maps.LatLng(55.39647000000001, 10.378820000000001),
    new google.maps.LatLng(55.396300000000004, 10.378850000000002),
    new google.maps.LatLng(55.39614, 10.378850000000002),
    new google.maps.LatLng(55.39589, 10.37878),
    new google.maps.LatLng(55.39576, 10.379430000000001),
    new google.maps.LatLng(55.39569, 10.37973),
    new google.maps.LatLng(55.39562000000001, 10.379900000000001),
    new google.maps.LatLng(55.39553000000001, 10.38005),
    new google.maps.LatLng(55.39538, 10.38024)
];
polylines.push(new google.maps.Polyline({
        path: path,
        strokeColor: '#' + Math.floor(Math.random() * 16777215).toString(16), //random color...
        strokeOpacity: 0.8,
        strokeWeight: 3,
        map: map
    })
);

path = [
    new google.maps.LatLng(55.43204000000001, 10.242320000000001),
    new google.maps.LatLng(55.43177000000001, 10.243300000000001),
    new google.maps.LatLng(55.43142, 10.2444),
    new google.maps.LatLng(55.42864, 10.25186),
    new google.maps.LatLng(55.42830000000001, 10.252650000000001),
    new google.maps.LatLng(55.428200000000004, 10.252820000000002),
    new google.maps.LatLng(55.4279, 10.25331),
    new google.maps.LatLng(55.42748, 10.253820000000001),
    new google.maps.LatLng(55.427020000000006, 10.254150000000001),
    new google.maps.LatLng(55.42676, 10.254290000000001),
    new google.maps.LatLng(55.42645, 10.2544),
    new google.maps.LatLng(55.42638, 10.254420000000001),
    new google.maps.LatLng(55.426320000000004, 10.25439),
    new google.maps.LatLng(55.42587, 10.254470000000001),
    new google.maps.LatLng(55.42566000000001, 10.254510000000002),
    new google.maps.LatLng(55.42555, 10.25453),
    new google.maps.LatLng(55.42548000000001, 10.25459),
    new google.maps.LatLng(55.424960000000006, 10.25467),
    new google.maps.LatLng(55.424060000000004, 10.254840000000002),
    new google.maps.LatLng(55.423820000000006, 10.25491),
    new google.maps.LatLng(55.423570000000005, 10.25502),
    new google.maps.LatLng(55.423390000000005, 10.255130000000001),
    new google.maps.LatLng(55.42311, 10.255360000000001),
    new google.maps.LatLng(55.4228, 10.255700000000001),
    new google.maps.LatLng(55.422650000000004, 10.25589),
    new google.maps.LatLng(55.42235, 10.25637),
    new google.maps.LatLng(55.422050000000006, 10.257040000000002),
    new google.maps.LatLng(55.42163000000001, 10.258030000000002),
    new google.maps.LatLng(55.421350000000004, 10.258780000000002),
    new google.maps.LatLng(55.42072, 10.26022),
    new google.maps.LatLng(55.42031000000001, 10.26124),
    new google.maps.LatLng(55.420210000000004, 10.26154),
    new google.maps.LatLng(55.42006000000001, 10.26209),
    new google.maps.LatLng(55.419920000000005, 10.26274),
    new google.maps.LatLng(55.419830000000005, 10.263300000000001),
    new google.maps.LatLng(55.419760000000004, 10.26398),
    new google.maps.LatLng(55.41973, 10.264850000000001),
    new google.maps.LatLng(55.419810000000005, 10.2672),
    new google.maps.LatLng(55.419900000000005, 10.269490000000001),
    new google.maps.LatLng(55.41995000000001, 10.27025),
    new google.maps.LatLng(55.419970000000006, 10.27059),
    new google.maps.LatLng(55.41995000000001, 10.270660000000001),
    new google.maps.LatLng(55.41998, 10.27128),
    new google.maps.LatLng(55.42, 10.27189),
    new google.maps.LatLng(55.42004000000001, 10.27255),
    new google.maps.LatLng(55.420260000000006, 10.274360000000001),
    new google.maps.LatLng(55.42063, 10.27813),
    new google.maps.LatLng(55.42078000000001, 10.279340000000001),
    new google.maps.LatLng(55.420910000000006, 10.28073),
    new google.maps.LatLng(55.420950000000005, 10.2818),
    new google.maps.LatLng(55.420880000000004, 10.283320000000002),
    new google.maps.LatLng(55.4209, 10.28339),
    new google.maps.LatLng(55.42087000000001, 10.28405),
    new google.maps.LatLng(55.42085, 10.28448),
    new google.maps.LatLng(55.42081, 10.28489),
    new google.maps.LatLng(55.420590000000004, 10.286520000000001),
    new google.maps.LatLng(55.4202, 10.28912),
    new google.maps.LatLng(55.4196, 10.29251),
    new google.maps.LatLng(55.41877, 10.29725),
    new google.maps.LatLng(55.418310000000005, 10.299980000000001),
    new google.maps.LatLng(55.41827000000001, 10.300030000000001),
    new google.maps.LatLng(55.41807000000001, 10.301350000000001),
    new google.maps.LatLng(55.41761, 10.30391),
    new google.maps.LatLng(55.417060000000006, 10.306790000000001),
    new google.maps.LatLng(55.41649, 10.31023),
    new google.maps.LatLng(55.41649, 10.31032),
    new google.maps.LatLng(55.416360000000005, 10.31114),
    new google.maps.LatLng(55.41534000000001, 10.31731),
    new google.maps.LatLng(55.41512, 10.318340000000001),
    new google.maps.LatLng(55.414820000000006, 10.31944),
    new google.maps.LatLng(55.41423, 10.321420000000002),
    new google.maps.LatLng(55.413140000000006, 10.324850000000001),
    new google.maps.LatLng(55.41310000000001, 10.324890000000002),
    new google.maps.LatLng(55.412960000000005, 10.325270000000002),
    new google.maps.LatLng(55.412690000000005, 10.325930000000001),
    new google.maps.LatLng(55.412310000000005, 10.32681),
    new google.maps.LatLng(55.41228, 10.32684),
    new google.maps.LatLng(55.41196000000001, 10.32756),
    new google.maps.LatLng(55.411440000000006, 10.32887),
    new google.maps.LatLng(55.41132, 10.329270000000001),
    new google.maps.LatLng(55.41048000000001, 10.33136),
    new google.maps.LatLng(55.40937, 10.33468),
    new google.maps.LatLng(55.40885, 10.336440000000001),
    new google.maps.LatLng(55.408440000000006, 10.33788),
    new google.maps.LatLng(55.40834, 10.3383),
    new google.maps.LatLng(55.40818, 10.33929),
    new google.maps.LatLng(55.407790000000006, 10.34257),
    new google.maps.LatLng(55.40776, 10.34266),
    new google.maps.LatLng(55.407680000000006, 10.34322),
    new google.maps.LatLng(55.407630000000005, 10.343810000000001),
    new google.maps.LatLng(55.40764000000001, 10.34388),
    new google.maps.LatLng(55.40751, 10.345210000000002),
    new google.maps.LatLng(55.40744, 10.34637),
    new google.maps.LatLng(55.40738, 10.347560000000001),
    new google.maps.LatLng(55.407270000000004, 10.348410000000001),
    new google.maps.LatLng(55.407120000000006, 10.34933),
    new google.maps.LatLng(55.40708000000001, 10.34942),
    new google.maps.LatLng(55.40701000000001, 10.349720000000001),
    new google.maps.LatLng(55.406890000000004, 10.350230000000002),
    new google.maps.LatLng(55.406890000000004, 10.350340000000001),
    new google.maps.LatLng(55.40683000000001, 10.35054),
    new google.maps.LatLng(55.40646, 10.3513),
    new google.maps.LatLng(55.406130000000005, 10.351830000000001),
    new google.maps.LatLng(55.40574, 10.352260000000001),
    new google.maps.LatLng(55.40523, 10.3533),
    new google.maps.LatLng(55.404990000000005, 10.35388),
    new google.maps.LatLng(55.404880000000006, 10.354170000000002),
    new google.maps.LatLng(55.404790000000006, 10.3544),
    new google.maps.LatLng(55.40467, 10.354600000000001),
    new google.maps.LatLng(55.40444, 10.35491),
    new google.maps.LatLng(55.40413, 10.35533),
    new google.maps.LatLng(55.403800000000004, 10.355720000000002),
    new google.maps.LatLng(55.40359, 10.355960000000001),
    new google.maps.LatLng(55.403420000000004, 10.356060000000001),
    new google.maps.LatLng(55.403330000000004, 10.35607),
    new google.maps.LatLng(55.403270000000006, 10.356110000000001),
    new google.maps.LatLng(55.402950000000004, 10.356140000000002),
    new google.maps.LatLng(55.40256, 10.356250000000001),
    new google.maps.LatLng(55.401810000000005, 10.356570000000001),
    new google.maps.LatLng(55.40148000000001, 10.356810000000001),
    new google.maps.LatLng(55.401430000000005, 10.356800000000002),
    new google.maps.LatLng(55.40126000000001, 10.35697),
    new google.maps.LatLng(55.40108000000001, 10.357190000000001),
    new google.maps.LatLng(55.400760000000005, 10.357700000000001),
    new google.maps.LatLng(55.40064, 10.358020000000002),
    new google.maps.LatLng(55.40005000000001, 10.359300000000001),
    new google.maps.LatLng(55.399080000000005, 10.36133),
    new google.maps.LatLng(55.39894, 10.361740000000001),
    new google.maps.LatLng(55.39889, 10.36199),
    new google.maps.LatLng(55.39885, 10.36204),
    new google.maps.LatLng(55.398790000000005, 10.36245),
    new google.maps.LatLng(55.39878, 10.36302),
    new google.maps.LatLng(55.398790000000005, 10.36372),
    new google.maps.LatLng(55.398830000000004, 10.36381),
    new google.maps.LatLng(55.39884000000001, 10.364700000000001),
    new google.maps.LatLng(55.39885, 10.365400000000001),
    new google.maps.LatLng(55.398860000000006, 10.366090000000002),
    new google.maps.LatLng(55.39882000000001, 10.366370000000002),
    new google.maps.LatLng(55.39884000000001, 10.367510000000001),
    new google.maps.LatLng(55.398880000000005, 10.36829),
    new google.maps.LatLng(55.39894, 10.368480000000002),
    new google.maps.LatLng(55.398990000000005, 10.369760000000001),
    new google.maps.LatLng(55.399080000000005, 10.371630000000001),
    new google.maps.LatLng(55.399210000000004, 10.37465),
    new google.maps.LatLng(55.399240000000006, 10.37523),
    new google.maps.LatLng(55.39925, 10.376140000000001),
    new google.maps.LatLng(55.399240000000006, 10.37695),
    new google.maps.LatLng(55.399210000000004, 10.3779),
    new google.maps.LatLng(55.39916, 10.378110000000001),
    new google.maps.LatLng(55.399150000000006, 10.378440000000001),
    new google.maps.LatLng(55.39911000000001, 10.37866),
    new google.maps.LatLng(55.39904000000001, 10.37888),
    new google.maps.LatLng(55.39889, 10.379140000000001),
    new google.maps.LatLng(55.39902000000001, 10.37954),
    new google.maps.LatLng(55.39913000000001, 10.37981),
    new google.maps.LatLng(55.399210000000004, 10.37991),
    new google.maps.LatLng(55.39940000000001, 10.380400000000002),
    new google.maps.LatLng(55.40037, 10.383040000000001),
    new google.maps.LatLng(55.400740000000006, 10.384170000000001),
    new google.maps.LatLng(55.40086, 10.384640000000001),
    new google.maps.LatLng(55.400890000000004, 10.385010000000001),
    new google.maps.LatLng(55.400870000000005, 10.38522),
    new google.maps.LatLng(55.40088000000001, 10.385570000000001),
    new google.maps.LatLng(55.400920000000006, 10.386270000000001),
    new google.maps.LatLng(55.400920000000006, 10.387530000000002),
    new google.maps.LatLng(55.40093, 10.38784),
    new google.maps.LatLng(55.400920000000006, 10.389130000000002),
    new google.maps.LatLng(55.400870000000005, 10.38986),
    new google.maps.LatLng(55.400780000000005, 10.390680000000001),
    new google.maps.LatLng(55.40073, 10.391190000000002),
    new google.maps.LatLng(55.40054000000001, 10.392190000000001),
    new google.maps.LatLng(55.40041000000001, 10.392560000000001),
    new google.maps.LatLng(55.400220000000004, 10.392940000000001),
    new google.maps.LatLng(55.400180000000006, 10.39291),
    new google.maps.LatLng(55.40014000000001, 10.39291),
    new google.maps.LatLng(55.40007000000001, 10.392990000000001),
    new google.maps.LatLng(55.400040000000004, 10.39306),
    new google.maps.LatLng(55.40005000000001, 10.39319),
    new google.maps.LatLng(55.400090000000006, 10.39329),
    new google.maps.LatLng(55.40012, 10.393310000000001),
    new google.maps.LatLng(55.400180000000006, 10.39333),
    new google.maps.LatLng(55.40039, 10.39372),
    new google.maps.LatLng(55.400470000000006, 10.3938),
    new google.maps.LatLng(55.40064, 10.39403),
    new google.maps.LatLng(55.40131, 10.39526),
    new google.maps.LatLng(55.40146000000001, 10.395560000000001),
    new google.maps.LatLng(55.40153, 10.396130000000001),
    new google.maps.LatLng(55.401920000000004, 10.3999),
    new google.maps.LatLng(55.40204000000001, 10.401010000000001),
    new google.maps.LatLng(55.402170000000005, 10.402310000000002),
    new google.maps.LatLng(55.40225, 10.403450000000001),
    new google.maps.LatLng(55.402280000000005, 10.40488),
    new google.maps.LatLng(55.40225, 10.406130000000001),
    new google.maps.LatLng(55.402190000000004, 10.40728),
    new google.maps.LatLng(55.40211000000001, 10.40821),
    new google.maps.LatLng(55.40198, 10.409260000000002),
    new google.maps.LatLng(55.40182000000001, 10.41031),
    new google.maps.LatLng(55.40147, 10.412),
    new google.maps.LatLng(55.40131, 10.41266),
    new google.maps.LatLng(55.4012, 10.413160000000001),
    new google.maps.LatLng(55.40099000000001, 10.41402),
    new google.maps.LatLng(55.40090000000001, 10.41422),
    new google.maps.LatLng(55.40081000000001, 10.41436),
    new google.maps.LatLng(55.400670000000005, 10.41449),
    new google.maps.LatLng(55.400510000000004, 10.41459),
    new google.maps.LatLng(55.39997, 10.41487),
    new google.maps.LatLng(55.400150000000004, 10.41585),
    new google.maps.LatLng(55.40035, 10.416780000000001),
    new google.maps.LatLng(55.40046, 10.417340000000001),
    new google.maps.LatLng(55.40062, 10.418080000000002),
    new google.maps.LatLng(55.40110000000001, 10.420390000000001),
    new google.maps.LatLng(55.40142, 10.42196),
    new google.maps.LatLng(55.4016, 10.422910000000002),
    new google.maps.LatLng(55.40173000000001, 10.423960000000001),
    new google.maps.LatLng(55.401790000000005, 10.424660000000001),
    new google.maps.LatLng(55.40185, 10.425740000000001),
    new google.maps.LatLng(55.401900000000005, 10.427320000000002),
    new google.maps.LatLng(55.40193000000001, 10.428790000000001),
    new google.maps.LatLng(55.40205, 10.43438),
    new google.maps.LatLng(55.402100000000004, 10.43656),
    new google.maps.LatLng(55.40214, 10.438640000000001),
    new google.maps.LatLng(55.40213000000001, 10.439580000000001),
    new google.maps.LatLng(55.402080000000005, 10.440660000000001),
    new google.maps.LatLng(55.40189, 10.44246),
    new google.maps.LatLng(55.401720000000005, 10.44411),
    new google.maps.LatLng(55.40151, 10.445820000000001),
    new google.maps.LatLng(55.40137000000001, 10.44677),
    new google.maps.LatLng(55.401120000000006, 10.448030000000001),
    new google.maps.LatLng(55.40014000000001, 10.45303),
    new google.maps.LatLng(55.399750000000004, 10.45518),
    new google.maps.LatLng(55.399640000000005, 10.455990000000002),
    new google.maps.LatLng(55.39943, 10.45791),
    new google.maps.LatLng(55.399260000000005, 10.459290000000001),
    new google.maps.LatLng(55.399170000000005, 10.460170000000002),
    new google.maps.LatLng(55.399190000000004, 10.46138),
    new google.maps.LatLng(55.399240000000006, 10.46193),
    new google.maps.LatLng(55.39925, 10.462060000000001),
    new google.maps.LatLng(55.399240000000006, 10.46208),
    new google.maps.LatLng(55.39923, 10.462150000000001),
    new google.maps.LatLng(55.39925, 10.462200000000001),
    new google.maps.LatLng(55.39929000000001, 10.462200000000001),
    new google.maps.LatLng(55.399300000000004, 10.462190000000001),
    new google.maps.LatLng(55.399350000000005, 10.462290000000001),
    new google.maps.LatLng(55.39941, 10.4624),
    new google.maps.LatLng(55.400000000000006, 10.4631),
    new google.maps.LatLng(55.399770000000004, 10.46334),
    new google.maps.LatLng(55.399550000000005, 10.46353),
    new google.maps.LatLng(55.399300000000004, 10.46367),
    new google.maps.LatLng(55.39922000000001, 10.4638),
    new google.maps.LatLng(55.39913000000001, 10.464200000000002),
    new google.maps.LatLng(55.399060000000006, 10.46503),
    new google.maps.LatLng(55.39907, 10.466190000000001),
    new google.maps.LatLng(55.399010000000004, 10.466940000000001),
    new google.maps.LatLng(55.398720000000004, 10.46915),
    new google.maps.LatLng(55.397850000000005, 10.475610000000001),
    new google.maps.LatLng(55.39678000000001, 10.48352),
    new google.maps.LatLng(55.39652, 10.48549),
    new google.maps.LatLng(55.39616, 10.495230000000001),
    new google.maps.LatLng(55.39609000000001, 10.49703),
    new google.maps.LatLng(55.39609000000001, 10.49736),
    new google.maps.LatLng(55.39611000000001, 10.4976),
    new google.maps.LatLng(55.396390000000004, 10.498930000000001),
    new google.maps.LatLng(55.396640000000005, 10.50032),
    new google.maps.LatLng(55.39703000000001, 10.50272),
    new google.maps.LatLng(55.397110000000005, 10.50336),
    new google.maps.LatLng(55.397130000000004, 10.503820000000001),
    new google.maps.LatLng(55.39714000000001, 10.50417),
    new google.maps.LatLng(55.39717, 10.50436),
    new google.maps.LatLng(55.397670000000005, 10.506150000000002),
    new google.maps.LatLng(55.40044, 10.51589),
    new google.maps.LatLng(55.403980000000004, 10.52833),
    new google.maps.LatLng(55.40552, 10.53378),
    new google.maps.LatLng(55.40560000000001, 10.534180000000001),
    new google.maps.LatLng(55.405680000000004, 10.53627),
    new google.maps.LatLng(55.40574, 10.539250000000001),
    new google.maps.LatLng(55.405840000000005, 10.539280000000002),
    new google.maps.LatLng(55.40594, 10.539380000000001),
    new google.maps.LatLng(55.408030000000004, 10.541530000000002),
    new google.maps.LatLng(55.40935, 10.542850000000001),
    new google.maps.LatLng(55.40984, 10.54348),
    new google.maps.LatLng(55.410160000000005, 10.54371),
    new google.maps.LatLng(55.41039000000001, 10.543920000000002),
    new google.maps.LatLng(55.41084000000001, 10.54437),
    new google.maps.LatLng(55.41095000000001, 10.544400000000001),
    new google.maps.LatLng(55.41102000000001, 10.544350000000001),
    new google.maps.LatLng(55.411120000000004, 10.544210000000001)
];
polylines.push(new google.maps.Polyline({
        path: path,
        strokeColor: '#' + Math.floor(Math.random() * 16777215).toString(16), //random color...
        strokeOpacity: 0.8,
        strokeWeight: 3,
        map: map
    })
);

path = [
    new google.maps.LatLng(55.43413, 10.42303),
    new google.maps.LatLng(55.43457000000001, 10.422920000000001),
    new google.maps.LatLng(55.43614, 10.42248),
    new google.maps.LatLng(55.43645000000001, 10.42234),
    new google.maps.LatLng(55.43681, 10.42211),
    new google.maps.LatLng(55.43694000000001, 10.422070000000001),
    new google.maps.LatLng(55.437020000000004, 10.42209),
    new google.maps.LatLng(55.43710000000001, 10.4222),
    new google.maps.LatLng(55.437270000000005, 10.4227),
    new google.maps.LatLng(55.43733, 10.42279),
    new google.maps.LatLng(55.437580000000004, 10.42303),
    new google.maps.LatLng(55.438900000000004, 10.424610000000001),
    new google.maps.LatLng(55.43914, 10.424900000000001),
    new google.maps.LatLng(55.439370000000004, 10.42514),
    new google.maps.LatLng(55.43974000000001, 10.42542),
    new google.maps.LatLng(55.440020000000004, 10.42556),
    new google.maps.LatLng(55.44024, 10.425630000000002),
    new google.maps.LatLng(55.44051, 10.425680000000002),
    new google.maps.LatLng(55.440940000000005, 10.425640000000001),
    new google.maps.LatLng(55.441210000000005, 10.42556),
    new google.maps.LatLng(55.44145, 10.42544),
    new google.maps.LatLng(55.44174, 10.42525),
    new google.maps.LatLng(55.44346, 10.423910000000001),
    new google.maps.LatLng(55.44379000000001, 10.423680000000001),
    new google.maps.LatLng(55.44411, 10.423530000000001),
    new google.maps.LatLng(55.44433000000001, 10.423480000000001),
    new google.maps.LatLng(55.444590000000005, 10.42346),
    new google.maps.LatLng(55.44494, 10.42351),
    new google.maps.LatLng(55.445260000000005, 10.423620000000001),
    new google.maps.LatLng(55.448750000000004, 10.42552),
    new google.maps.LatLng(55.449400000000004, 10.42584),
    new google.maps.LatLng(55.45131000000001, 10.42689),
    new google.maps.LatLng(55.451800000000006, 10.42712),
    new google.maps.LatLng(55.45271, 10.42763),
    new google.maps.LatLng(55.45412, 10.428400000000002),
    new google.maps.LatLng(55.455630000000006, 10.429260000000001),
    new google.maps.LatLng(55.456050000000005, 10.429580000000001),
    new google.maps.LatLng(55.456250000000004, 10.429670000000002),
    new google.maps.LatLng(55.456520000000005, 10.429860000000001),
    new google.maps.LatLng(55.457100000000004, 10.43035),
    new google.maps.LatLng(55.45734, 10.430520000000001),
    new google.maps.LatLng(55.45743, 10.43063),
    new google.maps.LatLng(55.457640000000005, 10.43092),
    new google.maps.LatLng(55.45806, 10.431270000000001),
    new google.maps.LatLng(55.45839, 10.431500000000002),
    new google.maps.LatLng(55.45853, 10.431650000000001),
    new google.maps.LatLng(55.45863000000001, 10.431930000000001),
    new google.maps.LatLng(55.45872000000001, 10.432260000000001),
    new google.maps.LatLng(55.45882, 10.432400000000001),
    new google.maps.LatLng(55.459210000000006, 10.43266),
    new google.maps.LatLng(55.45935000000001, 10.43271),
    new google.maps.LatLng(55.459630000000004, 10.4327),
    new google.maps.LatLng(55.459770000000006, 10.43274),
    new google.maps.LatLng(55.46000000000001, 10.432920000000001),
    new google.maps.LatLng(55.46014, 10.43299),
    new google.maps.LatLng(55.460570000000004, 10.433100000000001),
    new google.maps.LatLng(55.461130000000004, 10.433300000000001),
    new google.maps.LatLng(55.46181000000001, 10.433560000000002),
    new google.maps.LatLng(55.46215, 10.433610000000002),
    new google.maps.LatLng(55.462250000000004, 10.43365),
    new google.maps.LatLng(55.462340000000005, 10.433720000000001),
    new google.maps.LatLng(55.46267, 10.43411),
    new google.maps.LatLng(55.46300000000001, 10.43444),
    new google.maps.LatLng(55.46329000000001, 10.434790000000001),
    new google.maps.LatLng(55.46351000000001, 10.43501),
    new google.maps.LatLng(55.46356, 10.43504)
];
polylines.push(new google.maps.Polyline({
        path: path,
        strokeColor: '#' + Math.floor(Math.random() * 16777215).toString(16), //random color...
        strokeOpacity: 0.8,
        strokeWeight: 3,
        map: map
    })
);

path = [
    new google.maps.LatLng(55.38989, 10.241100000000001),
    new google.maps.LatLng(55.3898, 10.2413),
    new google.maps.LatLng(55.389630000000004, 10.241520000000001),
    new google.maps.LatLng(55.38951, 10.241570000000001),
    new google.maps.LatLng(55.38936, 10.2416),
    new google.maps.LatLng(55.3894, 10.24322),
    new google.maps.LatLng(55.38942, 10.244110000000001),
    new google.maps.LatLng(55.38946000000001, 10.245500000000002),
    new google.maps.LatLng(55.38956, 10.248040000000001),
    new google.maps.LatLng(55.38985, 10.25304),
    new google.maps.LatLng(55.38998, 10.25575),
    new google.maps.LatLng(55.39002000000001, 10.25698),
    new google.maps.LatLng(55.39014, 10.259780000000001),
    new google.maps.LatLng(55.39011000000001, 10.25999),
    new google.maps.LatLng(55.390130000000006, 10.2603),
    new google.maps.LatLng(55.390190000000004, 10.261800000000001),
    new google.maps.LatLng(55.390260000000005, 10.26308),
    new google.maps.LatLng(55.39029000000001, 10.263900000000001),
    new google.maps.LatLng(55.390330000000006, 10.26416),
    new google.maps.LatLng(55.39059, 10.27067),
    new google.maps.LatLng(55.39063, 10.271680000000002),
    new google.maps.LatLng(55.39074000000001, 10.274370000000001),
    new google.maps.LatLng(55.39092, 10.278450000000001),
    new google.maps.LatLng(55.390890000000006, 10.27862),
    new google.maps.LatLng(55.390910000000005, 10.27983),
    new google.maps.LatLng(55.391000000000005, 10.281410000000001),
    new google.maps.LatLng(55.391040000000004, 10.28157),
    new google.maps.LatLng(55.391070000000006, 10.28218),
    new google.maps.LatLng(55.39164, 10.296100000000001),
    new google.maps.LatLng(55.39199000000001, 10.304780000000001),
    new google.maps.LatLng(55.392070000000004, 10.30653),
    new google.maps.LatLng(55.39204, 10.3068),
    new google.maps.LatLng(55.392100000000006, 10.3085),
    new google.maps.LatLng(55.39218, 10.310070000000001),
    new google.maps.LatLng(55.392230000000005, 10.310350000000001),
    new google.maps.LatLng(55.39224, 10.310780000000001),
    new google.maps.LatLng(55.39237000000001, 10.314010000000001),
    new google.maps.LatLng(55.39276, 10.32348),
    new google.maps.LatLng(55.39293000000001, 10.327820000000001),
    new google.maps.LatLng(55.39291000000001, 10.327940000000002),
    new google.maps.LatLng(55.39294, 10.32878),
    new google.maps.LatLng(55.392990000000005, 10.33064),
    new google.maps.LatLng(55.39309000000001, 10.332230000000001),
    new google.maps.LatLng(55.39312, 10.332350000000002),
    new google.maps.LatLng(55.39325, 10.33548),
    new google.maps.LatLng(55.3933, 10.33675),
    new google.maps.LatLng(55.39327, 10.336870000000001),
    new google.maps.LatLng(55.393280000000004, 10.33782),
    new google.maps.LatLng(55.3933, 10.338700000000001),
    new google.maps.LatLng(55.39331000000001, 10.33966),
    new google.maps.LatLng(55.393350000000005, 10.340720000000001),
    new google.maps.LatLng(55.39345, 10.34187),
    new google.maps.LatLng(55.393530000000005, 10.34256),
    new google.maps.LatLng(55.39356000000001, 10.34326),
    new google.maps.LatLng(55.393620000000006, 10.344660000000001),
    new google.maps.LatLng(55.39361, 10.344840000000001),
    new google.maps.LatLng(55.39363, 10.345770000000002),
    new google.maps.LatLng(55.39369000000001, 10.34707),
    new google.maps.LatLng(55.393750000000004, 10.34781),
    new google.maps.LatLng(55.39381, 10.34927),
    new google.maps.LatLng(55.3939, 10.351270000000001),
    new google.maps.LatLng(55.3941, 10.356440000000001),
    new google.maps.LatLng(55.39428, 10.360930000000002),
    new google.maps.LatLng(55.394450000000006, 10.364840000000001),
    new google.maps.LatLng(55.394420000000004, 10.36495),
    new google.maps.LatLng(55.394420000000004, 10.36532),
    new google.maps.LatLng(55.394420000000004, 10.3655),
    new google.maps.LatLng(55.39452000000001, 10.365530000000001),
    new google.maps.LatLng(55.394740000000006, 10.365580000000001),
    new google.maps.LatLng(55.39481000000001, 10.365570000000002),
    new google.maps.LatLng(55.395950000000006, 10.366240000000001),
    new google.maps.LatLng(55.396040000000006, 10.366370000000002),
    new google.maps.LatLng(55.396190000000004, 10.36644),
    new google.maps.LatLng(55.39663, 10.36664),
    new google.maps.LatLng(55.396730000000005, 10.366660000000001),
    new google.maps.LatLng(55.397290000000005, 10.366980000000002),
    new google.maps.LatLng(55.39737, 10.367080000000001),
    new google.maps.LatLng(55.39790000000001, 10.367370000000001),
    new google.maps.LatLng(55.39810000000001, 10.36744),
    new google.maps.LatLng(55.39837000000001, 10.367460000000001),
    new google.maps.LatLng(55.39846000000001, 10.36743),
    new google.maps.LatLng(55.39884000000001, 10.367510000000001),
    new google.maps.LatLng(55.39911000000001, 10.367550000000001),
    new google.maps.LatLng(55.400980000000004, 10.36785),
    new google.maps.LatLng(55.4018, 10.36799),
    new google.maps.LatLng(55.402420000000006, 10.36808),
    new google.maps.LatLng(55.403980000000004, 10.368310000000001),
    new google.maps.LatLng(55.40435000000001, 10.36828),
    new google.maps.LatLng(55.405, 10.36819),
    new google.maps.LatLng(55.405390000000004, 10.3681),
    new google.maps.LatLng(55.406040000000004, 10.368110000000001),
    new google.maps.LatLng(55.406470000000006, 10.36819),
    new google.maps.LatLng(55.407160000000005, 10.36842),
    new google.maps.LatLng(55.40775000000001, 10.36865),
    new google.maps.LatLng(55.408150000000006, 10.368820000000001),
    new google.maps.LatLng(55.408280000000005, 10.368950000000002),
    new google.maps.LatLng(55.40840000000001, 10.36917),
    new google.maps.LatLng(55.40842000000001, 10.369280000000002),
    new google.maps.LatLng(55.40852, 10.36921),
    new google.maps.LatLng(55.40878000000001, 10.369050000000001),
    new google.maps.LatLng(55.409040000000005, 10.36894),
    new google.maps.LatLng(55.40972000000001, 10.36875),
    new google.maps.LatLng(55.41058, 10.36856),
    new google.maps.LatLng(55.411060000000006, 10.36851),
    new google.maps.LatLng(55.41151000000001, 10.368500000000001),
    new google.maps.LatLng(55.41246, 10.36851)
];
polylines.push(new google.maps.Polyline({
        path: path,
        strokeColor: '#' + Math.floor(Math.random() * 16777215).toString(16), //random color...
        strokeOpacity: 0.8,
        strokeWeight: 3,
        map: map
    })
);


De ovenstående ruter er blot eksempler, der er genereret tilfældigt.

Håber det giver mening :-)
Avatar billede MadsHaupt Juniormester
22. februar 2014 - 17:54 #1
Jeg kan godt se at det er svært, nu skal vi jo til at lave svær matematik, jeg ved heller ikke hvordan man gør, men vi kan prøve at samarbejde herinde, så kan vi moske finde en løsning.

Vi finder først ud af hvordan vi regner det ud, og så kommer jeg med scriptet.
Avatar billede angelenglen Nybegynder
22. februar 2014 - 18:41 #2
Jeg fandt noget der skulle kunne klare beregningerne, men jeg fik en del JS fejl da jeg forsøgte.

Det kan selvfølgelig ske at jeg leverede data i et forkert format måske?

http://stackoverflow.com/questions/9385523/does-this-polyline-pass-through-this-polygon

https://github.com/albertsun/JavaScript-Geometry

function processPath(polyline, polygons){
$.each(polygons, function(i,polygon){
    var polygonArr = [] // array for storing each point in polygon

    polygon.getPaths().forEach(function(k,g){
        $.each(k.b, function(l,m){
            polygonArr.push({'lat':m.lat(),'lng':m.lng()});
        });
    });

    //Get the number of points in the polyLINE
    var numStops = polyline.getPath().b.length -1;

    //Get the path and coordinates of the polyLINE
    var polylineArr = [];

    polyline.getPath().forEach(function(z,y){
        polylineArr.push({'lat':z.lat(),'lng':z.lng()});
    });
    $.each(polygonArr, function(j, polygon){
        $.each(polylineArr, function(k, polyline){
            if(k+1 != polylineArr.length){
                var lineCoor1x = polylineArr[k].lat;
                var lineCoor1y = polylineArr[k].lng;
                var lineCoor2x = polylineArr[k+1].lat;
                var lineCoor2y = polylineArr[k+1].lng;
                var polyCoorx = polygonArr[j].lat;
                var polyCoory = polygonArr[j].lng;
                if(j+1 == polygonArr.length){
                    // We've reached the end, go back to the start
                    var polyCoorNextx = polygonArr[0].lat
                    var polyCoorNexty = polygonArr[0].lng
                } else {
                    // Go to the next point
                    var polyCoorNextx = polygonArr[j+1].lat
                    var polyCoorNexty = polygonArr[j+1].lng
                }
                if(findIntersections([[[lineCoor1x,lineCoor1y], [lineCoor2x,lineCoor2y]], [[polyCoorx,polyCoory],[polyCoorNextx,polyCoorNexty]] ]).length != 0){
                    whereInside[i] = i;
                    return;
                }
            }
        })
    })
});
Avatar billede MadsHaupt Juniormester
22. februar 2014 - 20:17 #3
Hvilke fejl får du?.
Avatar billede angelenglen Nybegynder
22. februar 2014 - 20:22 #4
Jeg kan ikke huske den præcise fejl, og jeg kommer ikke hjem til min pc med projektet før mandag aften :-(

Men jeg kan prøve at lave en JSfiddle så i kan se det selv :-)
- når jeg kommer hjem altså :-)
Avatar billede angelenglen Nybegynder
18. august 2014 - 13:56 #5
Fandt aldrig en løsning, og projektet blev siden droppet :-(
Avatar billede angelenglen Nybegynder
18. august 2014 - 13:56 #6
-
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester