query($sqlquery); if (DB::isError($res)) reportDie ("$PHP_SELF: '$sqlquery' : " . $res->getMessage()); $i = 0; while ($row =($phpVersion >= "8.0" ? $res->fetch_assoc() : $res->fetchRow())): $polylines .= "var latlngs" . $i . " = " . decodePolyline(str_replace(".", "\\", $row['di_polyline'])) . ";\n"; if (strpos($poliline, $row['di_id']) !== false) $polylines .= "var polyline" . $i . " = L.polyline(latlngs" . $i . ", {color: '#ff00ff', weight : 5});\n"; elseif (strpos($eapPoliline, $row['di_id']) !== false) $polylines .= "var polyline" . $i . " = L.polyline(latlngs" . $i . ", {color: 'black', weight : 3});\n"; else $polylines .= "var polyline" . $i . " = L.polyline(latlngs" . $i . ", {color: 'red', weight : 3});\n"; $polylines .= "polylinesFG.addLayer(polyline" . $i++ . ");\n"; endwhile; $res->free(); } if ($jb_id != "") { $sqlquery = "SELECT ro_polyline, ro_type FROM phoenix_log.route WHERE jb_id = " . $jb_id; $res = $db->query($sqlquery); if (DB::isError($res)) reportDie ("$PHP_SELF: '$sqlquery' : " . $res->getMessage()); $i = 0; while ($row =($phpVersion >= "8.0" ? $res->fetch_assoc() : $res->fetchRow())): $polylines .= "var latlngs" . $i . " = " . decodePolyline(str_replace(".", "\\", $row['ro_polyline'])) . ";\n"; if ($row['ro_type'] == 0) $polylines .= "var polyline" . $i . " = L.polyline(latlngs" . $i . ", {color: '#ff00ff', weight : 5});\n"; elseif ($row['ro_type'] == 1) $polylines .= "var polyline" . $i . " = L.polyline(latlngs" . $i . ", {color: 'black', weight : 3});\n"; else $polylines .= "var polyline" . $i . " = L.polyline(latlngs" . $i . ", {color: 'red', weight : 3});\n"; $polylines .= "polylinesFG.addLayer(polyline" . $i++ . ");\n"; endwhile; $res->free(); } if ($polylines != "") $polylines = "var polylinesFG = new L.FeatureGroup();\n" . $polylines . "polylinesFG.addTo(map);\n" . "map.fitBounds(polylinesFG.getBounds());\n"; ////$poliline = "{tpeIub}~@QaBASQW[_@DmBCQFq@L}@l@uC\\uBPsBjEig@jC{ZrBcUbAiHrB}JrDuPjAeF`AgEZgAz@wCRkAtEePpDeLfFsNdDeIdDoHbBkDnBoDtD{G^y@t@oAnAyBlDwFnCmEfK}O|@oAf@k@pBiB|E}DbSkPnc@g^fCkBnGgFNUnEsDbBwAzL}J~TyQhr@wj@pDuC\\Sx@o@nCyBjCuBhAcAf@g@~DeDhMeKlLmJxJ}H\\U`Aa@hAYn@Ix@CxCJ`Lz@bAVx@f@d@f@hDdF|ErHpSr[rAlBdBjBvIvHp@v@xA`ChCrEnB~C`BhBfH`IfGtGtBlBxAhAbC`BrAv@fElBzE~AlCr@`KnChHlBvI|B`J|BlATnBPvAD|BIrC_@rIaBtNmCnj@qKpaBi[`Dm@PCd@?vAU`B]|@WNKpDq@`HsAzFgAfB]Cm@B_AFg@n@_BrA}CbB_EbDoI~AsEZ^x@dAv@ZdCLCzBB{BnA@`DAlBE|@AMhFOdIAz@Cf@CAEBCDCNDVLFCfIFhD\\hQVhId@vFl@|IV`IBfBBzEIbGW~EQ~EW~Fa@|Dc@fDg@zCo@pD[jCs@rJO`CAjAInIItB_@dD]fB]jAc@jAgAvBiCjD}AbBg@p@mBzBwBtCaDvEa@l@e@fAgAfDaCzHo@pB}@bCWh@cEtHcAjBe@x@{@fAqB`BgCrBaAz@wBtBiAhAuApBs@xBeBnH]zBKpAo@nNk@fL[dEg@fCg@tBkEbPqB~GoA`FoH`X{FrSgCrIiB`Gm@`Do@jEmAxIYbCk@lG_@jDu@hG[pAu@xBeBfEuDzIq@zAs@zBuA`F}CdLeAlDc@rBo@~B_@pAWzAc@xDwAxM_BrOa@~BsAnEmAfD_BlD_AnAi@d@o@^iAh@e@PsAf@YD}@NqDh@e@LwBfAu@f@sAjAeBjBeGpG}CrDiAbBcEhIoFvKEHcApBWXo@h@y@h@gBr@uFvBuHvCeFnBoDzA_@XYTO@_@d@eAzAs@tA}@tCu@bCEXiAjDs@pCg@xDEz@OxBUlEe@`IYxC_A`EeA|D[vAGh@sBlIS~@e@zCWpCy@nQg@pJc@vGUlBm@nDmAxGmEhUgHr_@cI~b@mDtRo@dDg@zBi@~A_@z@sApB}BfCeBhBmAxA}AfB_ApAmAnAgCvBSF}@~@[h@Yr@Oz@ORO`CGtIGvQMnIi@jJqAfT~@Sn@E^B\\Ll@`@ZTrAz@xFnD"; //// {tpeIub}~@QaBASQW[_@DmBCQFq@L}@l@uCuBPsBjEig@jC{ZrBcUbAiHrB}JrDuPjAeF`AgEZgAz@wCRkAtEePpDeLfFsNdDeIdDoHbBkDnBoDtD{G^y@t@oAnAyBlDwFnCmEfK}O|@oAf@k@pBiB|E}DbSkPnc@g^fCkBnGgFNUnEsDbBwAzL}J~TyQhr@wj@pDuCSx@o@nCyBjCuBhAcAf@g@~DeDhMeKlLmJxJ}HU`Aa@hAYn@Ix@CxCJ`Lz@bAVx@f@d@f@hDdF|ErHpSr[rAlBdBjBvIvHp@v@xA`ChCrEnB~C`BhBfH`IfGtGtBlBxAhAbC`BrAv@fElBzE~AlCr@`KnChHlBvI|B`J|BlATnBPvAD|BIrC_@rIaBtNmCnj@qKpaBi[`Dm@PCd@?vAU`B]|@WNKpDq@`HsAzFgAfB]Cm@B_AFg@n@_BrA}CbB_EbDoI~AsEZ^x@dAv@ZdCLCzBB{BnA@`DAlBE|@AMhFOdIAz@Cf@CAEBCDCNDVLFCfIFhDhQVhId@vFl@|IV`IBfBBzEIbGW~EQ~EW~Fa@|Dc@fDg@zCo@pD[jCs@rJO`CAjAInIItB_@dD]fB]jAc@jAgAvBiCjD}AbBg@p@mBzBwBtCaDvEa@l@e@fAgAfDaCzHo@pB}@bCWh@cEtHcAjBe@x@{@fAqB`BgCrBaAz@wBtBiAhAuApBs@xBeBnH]zBKpAo@nNk@fL[dEg@fCg@tBkEbPqB~GoA`FoH`X{FrSgCrIiB`Gm@`Do@jEmAxIYbCk@lG_@jDu@hG[pAu@xBeBfEuDzIq@zAs@zBuA`F}CdLeAlDc@rBo@~B_@pAWzAc@xDwAxM_BrOa@~BsAnEmAfD_BlD_AnAi@d@o@^iAh@e@PsAf@YD}@NqDh@e@LwBfAu@f@sAjAeBjBeGpG}CrDiAbBcEhIoFvKEHcApBWXo@h@y@h@gBr@uFvBuHvCeFnBoDzA_@XYTO@_@d@eAzAs@tA}@tCu@bCEXiAjDs@pCg@xDEz@OxBUlEe@`IYxC_A`EeA|D[vAGh@sBlIS~@e@zCWpCy@nQg@pJc@vGUlBm@nDmAxGmEhUgHr_@cI~b@mDtRo@dDg@zBi@~A_@z@sApB}BfCeBhBmAxA}AfB_ApAmAnAgCvBSF}@~@[h@Yr@Oz@ORO`CGtIGvQMnIi@jJqAfT~@Sn@E^BLl@`@ZTrAz@xFnD //// {tpeIub}~@QaBASQW[_@DmBCQFq@L}@l@uCuBPsBjEig@jC{ZrBcUbAiHrB}JrDuPjAeF`AgEZgAz@wCRkAtEePpDeLfFsNdDeIdDoHbBkDnBoDtD{G^y@t@oAnAyBlDwFnCmEfK}O|@oAf@k@pBiB|E}DbSkPnc@g^fCkBnGgFNUnEsDbBwAzL}J~TyQhr@wj@pDuCSx@o@nCyBjCuBhAcAf@g@~DeDhMeKlLmJxJ}HU`Aa@hAYn@Ix@CxCJ`Lz@bAVx@f@d@f@hDdF|ErHpSr[rAlBdBjBvIvHp@v@xA`ChCrEnB~C`BhBfH`IfGtGtBlBxAhAbC`BrAv@fElBzE~AlCr@`KnChHlBvI|B`J|BlATnBPvAD|BIrC_@rIaBtNmCnj@qKpaBi[`Dm@PCd@?vAU`B]|@WNKpDq@`HsAzFgAfB]Cm@B_AFg@n@_BrA}CbB_EbDoI~AsEZ^x@dAv@ZdCLCzBB{BnA@`DAlBE|@AMhFOdIAz@Cf@CAEBCDCNDVLFCfIFhDhQVhId@vFl@|IV`IBfBBzEIbGW~EQ~EW~Fa@|Dc@fDg@zCo@pD[jCs@rJO`CAjAInIItB_@dD]fB]jAc@jAgAvBiCjD}AbBg@p@mBzBwBtCaDvEa@l@e@fAgAfDaCzHo@pB}@bCWh@cEtHcAjBe@x@{@fAqB`BgCrBaAz@wBtBiAhAuApBs@xBeBnH]zBKpAo@nNk@fL[dEg@fCg@tBkEbPqB~GoA`FoH`X{FrSgCrIiB`Gm@`Do@jEmAxIYbCk@lG_@jDu@hG[pAu@xBeBfEuDzIq@zAs@zBuA`F}CdLeAlDc@rBo@~B_@pAWzAc@xDwAxM_BrOa@~BsAnEmAfD_BlD_AnAi@d@o@^iAh@e@PsAf@YD}@NqDh@e@LwBfAu@f@sAjAeBjBeGpG}CrDiAbBcEhIoFvKEHcApBWXo@h@y@h@gBr@uFvBuHvCeFnBoDzA_@XYTO@_@d@eAzAs@tA}@tCu@bCEXiAjDs@pCg@xDEz@OxBUlEe@`IYxC_A`EeA|D[vAGh@sBlIS~@e@zCWpCy@nQg@pJc@vGUlBm@nDmAxGmEhUgHr_@cI~b@mDtRo@dDg@zBi@~A_@z@sApB}BfCeBhBmAxA}AfB_ApAmAnAgCvBSF}@~@[h@Yr@Oz@ORO`CGtIGvQMnIi@jJqAfT~@Sn@E^BLl@`@ZTrAz@xFnD ////%7BtpeIub%7D~%40QaBASQW%5B_%40DmBCQFq%40L%7D%40l%40uC%5CuBPsBjEig%40jC%7BZrBcUbAiHrB%7DJrDuPjAeF%60AgEZgAz%40wCRkAtEePpDeLfFsNdDeIdDoHbBkDnBoDtD%7BG%5Ey%40t%40oAnAyBlDwFnCmEfK%7DO%7C%40oAf%40k%40pBiB%7CE%7DDbSkPnc%40g%5EfCkBnGgFNUnEsDbBwAzL%7DJ~TyQhr%40wj%40pDuC%5CSx%40o%40nCyBjCuBhAcAf%40g%40~DeDhMeKlLmJxJ%7DH%5CU%60Aa%40hAYn%40Ix%40CxCJ%60Lz%40bAVx%40f%40d%40f%40hDdF%7CErHpSr%5BrAlBdBjBvIvHp%40v%40xA%60ChCrEnB~C%60BhBfH%60IfGtGtBlBxAhAbC%60BrAv%40fElBzE~AlCr%40%60KnChHlBvI%7CB%60J%7CBlATnBPvAD%7CBIrC_%40rIaBtNmCnj%40qKpaBi%5B%60Dm%40PCd%40%3FvAU%60B%5D%7C%40WNKpDq%40%60HsAzFgAfB%5DCm%40B_AFg%40n%40_BrA%7DCbB_EbDoI~AsEZ%5Ex%40dAv%40ZdCLCzBB%7BBnA%40%60DAlBE%7C%40AMhFOdIAz%40Cf%40CAEBCDCNDVLFCfIFhD%5ChQVhId%40vFl%40%7CIV%60IBfBBzEIbGW~EQ~EW~Fa%40%7CDc%40fDg%40zCo%40pD%5BjCs%40rJO%60CAjAInIItB_%40dD%5DfB%5DjAc%40jAgAvBiCjD%7DAbBg%40p%40mBzBwBtCaDvEa%40l%40e%40fAgAfDaCzHo%40pB%7D%40bCWh%40cEtHcAjBe%40x%40%7B%40fAqB%60BgCrBaAz%40wBtBiAhAuApBs%40xBeBnH%5DzBKpAo%40nNk%40fL%5BdEg%40fCg%40tBkEbPqB~GoA%60FoH%60X%7BFrSgCrIiB%60Gm%40%60Do%40jEmAxIYbCk%40lG_%40jDu%40hG%5BpAu%40xBeBfEuDzIq%40zAs%40zBuA%60F%7DCdLeAlDc%40rBo%40~B_%40pAWzAc%40xDwAxM_BrOa%40~BsAnEmAfD_BlD_AnAi%40d%40o%40%5EiAh%40e%40PsAf%40YD%7D%40NqDh%40e%40LwBfAu%40f%40sAjAeBjBeGpG%7DCrDiAbBcEhIoFvKEHcApBWXo%40h%40y%40h%40gBr%40uFvBuHvCeFnBoDzA_%40XYTO%40_%40d%40eAzAs%40tA%7D%40tCu%40bCEXiAjDs%40pCg%40xDEz%40OxBUlEe%40%60IYxC_A%60EeA%7CD%5BvAGh%40sBlIS~%40e%40zCWpCy%40nQg%40pJc%40vGUlBm%40nDmAxGmEhUgHr_%40cI~b%40mDtRo%40dDg%40zBi%40~A_%40z%40sApB%7DBfCeBhBmAxA%7DAfB_ApAmAnAgCvBSF%7D%40~%40%5Bh%40Yr%40Oz%40ORO%60CGtIGvQMnIi%40jJqAfT~%40Sn%40E%5EB%5CLl%40%60%40ZTrAz%40xFnD ////{tpeIub}~%40QaBASQW[_%40DmBCQFq%40L}%40l%40uC\uBPsBjEig%40jC{ZrBcUbAiHrB}JrDuPjAeF`AgEZgAz%40wCRkAtEePpDeLfFsNdDeIdDoHbBkDnBoDtD{G^y%40t%40oAnAyBlDwFnCmEfK}O|%40oAf%40k%40pBiB|E}DbSkPnc%40g^fCkBnGgFNUnEsDbBwAzL}J~TyQhr%40wj%40pDuC\Sx%40o%40nCyBjCuBhAcAf%40g%40~DeDhMeKlLmJxJ}H\U`Aa%40hAYn%40Ix%40CxCJ`Lz%40bAVx%40f%40d%40f%40hDdF|ErHpSr[rAlBdBjBvIvHp%40v%40xA`ChCrEnB~C`BhBfH`IfGtGtBlBxAhAbC`BrAv%40fElBzE~AlCr%40`KnChHlBvI|B`J|BlATnBPvAD|BIrC_%40rIaBtNmCnj%40qKpaBi[`Dm%40PCd%40%3FvAU`B]|%40WNKpDq%40`HsAzFgAfB]Cm%40B_AFg%40n%40_BrA}CbB_EbDoI~AsEZ^x%40dAv%40ZdCLCzBB{BnA%40`DAlBE|%40AMhFOdIAz%40Cf%40CAEBCDCNDVLFCfIFhD\hQVhId%40vFl%40|IV`IBfBBzEIbGW~EQ~EW~Fa%40|Dc%40fDg%40zCo%40pD[jCs%40rJO`CAjAInIItB_%40dD]fB]jAc%40jAgAvBiCjD}AbBg%40p%40mBzBwBtCaDvEa%40l%40e%40fAgAfDaCzHo%40pB}%40bCWh%40cEtHcAjBe%40x%40{%40fAqB`BgCrBaAz%40wBtBiAhAuApBs%40xBeBnH]zBKpAo%40nNk%40fL[dEg%40fCg%40tBkEbPqB~GoA`FoH`X{FrSgCrIiB`Gm%40`Do%40jEmAxIYbCk%40lG_%40jDu%40hG[pAu%40xBeBfEuDzIq%40zAs%40zBuA`F}CdLeAlDc%40rBo%40~B_%40pAWzAc%40xDwAxM_BrOa%40~BsAnEmAfD_BlD_AnAi%40d%40o%40^iAh%40e%40PsAf%40YD}%40NqDh%40e%40LwBfAu%40f%40sAjAeBjBeGpG}CrDiAbBcEhIoFvKEHcApBWXo%40h%40y%40h%40gBr%40uFvBuHvCeFnBoDzA_%40XYTO%40_%40d%40eAzAs%40tA}%40tCu%40bCEXiAjDs%40pCg%40xDEz%40OxBUlEe%40`IYxC_A`EeA|D[vAGh%40sBlIS~%40e%40zCWpCy%40nQg%40pJc%40vGUlBm%40nDmAxGmEhUgHr_%40cI~b%40mDtRo%40dDg%40zBi%40~A_%40z%40sApB}BfCeBhBmAxA}AfB_ApAmAnAgCvBSF}%40~%40[h%40Yr%40Oz%40ORO`CGtIGvQMnIi%40jJqAfT~%40Sn%40E^B\Ll%40`%40ZTrAz%40xFnD ////{tpeIub}~%40QaBASQW[_%40DmBCQFq%40L}%40l%40uC\uBPsBjEig%40jC{ZrBcUbAiHrB}JrDuPjAeF`AgEZgAz%40wCRkAtEePpDeLfFsNdDeIdDoHbBkDnBoDtD{G^y%40t%40oAnAyBlDwFnCmEfK}O|%40oAf%40k%40pBiB|E}DbSkPnc%40g^fCkBnGgFNUnEsDbBwAzL}J~TyQhr%40wj%40pDuC\Sx%40o%40nCyBjCuBhAcAf%40g%40~DeDhMeKlLmJxJ}H\U`Aa%40hAYn%40Ix%40CxCJ`Lz%40bAVx%40f%40d%40f%40hDdF|ErHpSr[rAlBdBjBvIvHp%40v%40xA`ChCrEnB~C`BhBfH`IfGtGtBlBxAhAbC`BrAv%40fElBzE~AlCr%40`KnChHlBvI|B`J|BlATnBPvAD|BIrC_%40rIaBtNmCnj%40qKpaBi[`Dm%40PCd%40%3FvAU`B]|%40WNKpDq%40`HsAzFgAfB]Cm%40B_AFg%40n%40_BrA}CbB_EbDoI~AsEZ^x%40dAv%40ZdCLCzBB{BnA%40`DAlBE|%40AMhFOdIAz%40Cf%40CAEBCDCNDVLFCfIFhD\hQVhId%40vFl%40|IV`IBfBBzEIbGW~EQ~EW~Fa%40|Dc%40fDg%40zCo%40pD[jCs%40rJO`CAjAInIItB_%40dD]fB]jAc%40jAgAvBiCjD}AbBg%40p%40mBzBwBtCaDvEa%40l%40e%40fAgAfDaCzHo%40pB}%40bCWh%40cEtHcAjBe%40x%40{%40fAqB`BgCrBaAz%40wBtBiAhAuApBs%40xBeBnH]zBKpAo%40nNk%40fL[dEg%40fCg%40tBkEbPqB~GoA`FoH`X{FrSgCrIiB`Gm%40`Do%40jEmAxIYbCk%40lG_%40jDu%40hG[pAu%40xBeBfEuDzIq%40zAs%40zBuA`F}CdLeAlDc%40rBo%40~B_%40pAWzAc%40xDwAxM_BrOa%40~BsAnEmAfD_BlD_AnAi%40d%40o%40^iAh%40e%40PsAf%40YD}%40NqDh%40e%40LwBfAu%40f%40sAjAeBjBeGpG}CrDiAbBcEhIoFvKEHcApBWXo%40h%40y%40h%40gBr%40uFvBuHvCeFnBoDzA_%40XYTO%40_%40d%40eAzAs%40tA}%40tCu%40bCEXiAjDs%40pCg%40xDEz%40OxBUlEe%40`IYxC_A`EeA|D[vAGh%40sBlIS~%40e%40zCWpCy%40nQg%40pJc%40vGUlBm%40nDmAxGmEhUgHr_%40cI~b%40mDtRo%40dDg%40zBi%40~A_%40z%40sApB}BfCeBhBmAxA}AfB_ApAmAnAgCvBSF}%40~%40[h%40Yr%40Oz%40ORO`CGtIGvQMnIi%40jJqAfT~%40Sn%40E^B\Ll%40`%40ZTrAz%40xFnD ////$poliline = "{tpeIub}~@ee@tIcVpn@mrGdsIshAjtUrbAttPc[nqFxnBf|BbhDt~Dln@ntHd`@l|DbwC|uAb}HajA`hGzwAj`GkpBxiG_yE|nEegAxnD`VppJiDx}CrnDxeAvvFzfG|_F~~G~xCboHzwCpaDtMviDz~FdvHvzQvpGbmLp_CvnEtjGxgAt_F|dAdlEanAr}MukDptJwoH~pSeaPjwIw~FflDogBb|DlQ|oCl}BnjDtgAf~H_sH|aJq`C~bGkbHrzCaqA|xAyoDfyAi}Ov{Cc{IhkCsqDlkC`c@j`HptDx|FdiB~qGxUxcGfz@zuJfaCdwCx`EjuAvoGp}C~aCpeBtuCbgAjnEt}CldBfkH|aCt}Cs@b{B~~@bkCm\\j~Af}AljA`lBrtD`@rsKfv@zeIvbGjfA`lEoArfFmf@nlFx}@zqDpz@nzDtnBjlCp~HrzMr`ClD~iDrkGpfCbVreCxmErqD|_B`fByg@ddDwk@~`EjSjsE_e@noFonA~yBnfAd}AaYpwEjkBhoBku@zjAajDtv@wmDjwBonApdB_sE|{AfT`u@ylBh}AhMjhG|bChfAneDbcBbv@xeCusFhsC{eGrqG_eHpqBuhBh}Bv_@``GdHrfEs`@~uDkdGpcFsw@jbBqq@bmBtw@jcBxuBtqBub@b`CeoCpeBeBj_Hbo@|eE}~@t}CqrGfg@yeIfnEeaBppA_iCvqCxUhcBgcAveBgyCfjFucHxhDuKbnAnu@x{Aeq@nrColBfvBgpBbr@}mEx{DsiF||DwUtrAc{@tkAfqCvoD|uCphDp~DhlFmD`zEza@leCceFvsF__ClxCmtGxgNowAjjDkkBpgEi_Hn~Fz@ryFbcApwDayD`vC_[l_CuxCz`HefF`xFnvBf_AlsBdgCpj@xcBgp@rnB~oAvjBxPd{CaqBriCuy@`vDxfCjwGwxC`vGwhDdyBfs@nrAn}C~wFdbF~iB`hBbdC}kA|hHca@~aCr~@voC}l@xhDbAp_Cr|BnmBrb@tiA_iCljF{eDnjGzPtpFn_B`_Nw~DvlAa\\dvAd`BzlBcQn{CvhDhyFneK`uFriHrqF_aCpbCmwAvhB`VpzE|yBrvFlbAfnFsb@lpH{_DhnNar@j|Duu@xiHp{BdpG_dDfnJh\\zgFksB~oDauFlcFyjEb_Cy_CpiDo}@vhCikD`gDy|@~xEurE~pDmNxlGgpExsCk^tlBafBiEanC|nB_bCnYe|EpfBcf@baEriGjuB~{AlaAihBnuB}SjfB|tAh}ClcA"; //// {tpeIub}~@ee@tIcVpn@mrGdsIshAjtUrbAttPc[nqFxnBf|BbhDt~Dln@ntHd`@l|DbwC|uAb}HajA`hGzwAj`GkpBxiG_yE|nEegAxnD`VppJiDx}CrnDxeAvvFzfG|_F~~G~xCboHzwCpaDtMviDz~FdvHvzQvpGbmLp_CvnEtjGxgAt_F|dAdlEanAr}MukDptJwoH~pSeaPjwIw~FflDogBb|DlQ|oCl}BnjDtgAf~H_sH|aJq`C~bGkbHrzCaqA|xAyoDfyAi}Ov{Cc{IhkCsqDlkC`c@j`HptDx|FdiB~qGxUxcGfz@zuJfaCdwCx`EjuAvoGp}C~aCpeBtuCbgAjnEt}CldBfkH|aCt}Cs@b{B~~@bkCm j~Af}AljA`lBrtD`@rsKfv@zeIvbGjfA`lEoArfFmf@nlFx}@zqDpz@nzDtnBjlCp~HrzMr`ClD~iDrkGpfCbVreCxmErqD|_B`fByg@ddDwk@~`EjSjsE_e@noFonA~yBnfAd}AaYpwEjkBhoBku@zjAajDtv@wmDjwBonApdB_sE|{AfT`u@ylBh}AhMjhG|bChfAneDbcBbv@xeCusFhsC{eGrqG_eHpqBuhBh}Bv_@``GdHrfEs`@~uDkdGpcFsw@jbBqq@bmBtw@jcBxuBtqBub@b`CeoCpeBeBj_Hbo@|eE}~@t}CqrGfg@yeIfnEeaBppA_iCvqCxUhcBgcAveBgyCfjFucHxhDuKbnAnu@x{Aeq@nrColBfvBgpBbr@}mEx{DsiF||DwUtrAc{@tkAfqCvoD|uCphDp~DhlFmD`zEza@leCceFvsF__ClxCmtGxgNowAjjDkkBpgEi_Hn~Fz@ryFbcApwDayD`vC_[l_CuxCz`HefF`xFnvBf_AlsBdgCpj@xcBgp@rnB~oAvjBxPd{CaqBriCuy@`vDxfCjwGwxC`vGwhDdyBfs@nrAn}C~wFdbF~iB`hBbdC}kA|hHca@~aCr~@voC}l@xhDbAp_Cr|BnmBrb@tiA_iCljF{eDnjGzPtpFn_B`_Nw~DvlAa dvAd`BzlBcQn{CvhDhyFneK`uFriHrqF_aCpbCmwAvhB`VpzE|yBrvFlbAfnFsb@lpH{_DhnNar@j|Duu@xiHp{BdpG_dDfnJh zgFksB~oDauFlcFyjEb_Cy_CpiDo}@vhCikD`gDy|@~xEurE~pDmNxlGgpExsCk^tlBafBiEanC|nB_bCnYe|EpfBcf@baEriGjuB~{AlaAihBnuB}SjfB|tAh}ClcA // ////echo urldecode(str_replace(".", "\\", $poliline)); //$polyline = decodePolyline(urldecode(str_replace(".", "\\", $poliline))); //$eapPolyline = decodePolyline(urldecode(str_replace(".", "\\", $eapPoliline))); if ($stations != "") { $stationsArr = explode("/", utf8_encode(substr(urldecode($stations), 1))); $coordsByGPS = array(); $stations_script = ""; for ($i = 0; $i < count($stationsArr) / 2; $i++) { $coords = explode(",", $stationsArr[$i + count($stationsArr) / 2]); if (!isset($coordsByGPS[$coords[0] . ", " . $coords[1]])) { $coordsByGPS[$coords[0] . ", " . $coords[1]] = 0; } else { $coordsByGPS[$coords[0] . ", " . $coords[1]]++; } $offset = $coordsByGPS[$coords[0] . ", " . $coords[1]] * 12; // $offset = 0; $stations_script .= // // https://stackoverflow.com/questions/22622393/leaflet-awesome-markers-adding-numbers // "var numberIcon" . ($i+1) . " = L.divIcon({\n" . // " className: \"number-icon\",\n" . // " shadowSize: [20, 30], // size of the shadow\n" . // " iconAnchor: [20, 40], \n" . // " shadowAnchor: [4, 30], // the same for the shadow\n" . // " popupAnchor: [0, -30],\n" . // " html: " . ($i+1) . "\n" . // "});\n" . "var numberIcon" . ($i+1) . " = L.divIcon({\n" . " className: \"number-icon\",\n" . " iconSize: [25, 41],\n" . " iconAnchor: [" . (10 - $offset) . ", " . (40 + $offset) . "],\n" . " popupAnchor: [" . (3 - $offset) . ", " . (-36 + $offset) . "],\n" . " html: '" . ($i+1) . "'\n" . "});\n" . "L.marker([". $coords[0] . ", " . $coords[1] . "], { icon: numberIcon" . ($i+1) . ", title: \"(" . ($i + 1) . ") " . str_replace(",Germany", "", utf8_decode($stationsArr[$i])) . "\" }).addTo(map);\n"; } } if ($jb_id != "") { $coordsByGPS = array(); $stations_script = ""; $sqlquery = "SELECT ad_street, ad_zipcode, ad_city, ad_country, tr_sort, tr_hsno FROM tour, address WHERE jb_id = $jb_id AND tour.ad_id = address.ad_id ORDER BY tr_sort"; $res = $db->query($sqlquery); if (DB::isError($res)) die ("$PHP_SELF: '$sqlquery' : " . $res->getMessage()); while ($row =($phpVersion >= "8.0" ? $res->fetch_assoc() : $res->fetchRow())): $coords = get_coords($row["ad_country"], $row["ad_zipcode"], $row["ad_city"], $row["ad_street"], $row["tr_hsno"]); if ($coords[0] != 0 && $coords[1] != 0) { if (!isset($coordsByGPS[$coords[0] . ", " . $coords[1]])) { $coordsByGPS[$coords[0] . ", " . $coords[1]] = 0; } else { $coordsByGPS[$coords[0] . ", " . $coords[1]]++; } $offset = $coordsByGPS[$coords[0] . ", " . $coords[1]] * 12; $stations_script .= "var numberIcon" . $row["tr_sort"] . " = L.divIcon({\n" . " className: \"number-icon\",\n" . " iconSize: [25, 41],\n" . " iconAnchor: [" . (10 - $offset) . ", " . (40 + $offset) . "],\n" . " popupAnchor: [" . (3 - $offset) . ", " . (-36 + $offset) . "],\n" . " html: '" . $row["tr_sort"] . "'\n" . "});\n" . "L.marker([". $coords[0] . ", " . $coords[1] . "], { icon: numberIcon" . $row["tr_sort"] . ", title: \"(" . $row["tr_sort"] . ") " . $row["ad_street"] . " " . $row["tr_hsno"] . ", " . $row["ad_zipcode"] . " " . $row["ad_city"] . "\" }).addTo(map);\n"; } endwhile; $res->free(); } /* TOBEDONE: - "Strecke wird ermittelt..." mit Hilfe von setTimeout() sofort darstellen - Kartenlayer-Auswahl (OSM, Google) (- Adressen und deren Koordinaten übernehmen und darstellen) (- Preiszonen darstellen) */ function decodePolyline($encoded) { $length = strlen($encoded); $index = 0; $lat = 0; $lng = 0; $coordinates = []; while ($index < $length) { $shift = 0; $result = 0; do { $b = ord($encoded[$index++]) - 63; $result |= ($b & 0x1F) << $shift; $shift += 5; } while ($b >= 0x20); $dlat = ($result & 1) ? ~($result >> 1) : ($result >> 1); $lat += $dlat; $shift = 0; $result = 0; do { $b = ord($encoded[$index++]) - 63; $result |= ($b & 0x1F) << $shift; $shift += 5; } while ($b >= 0x20); $dlng = ($result & 1) ? ~($result >> 1) : ($result >> 1); $lng += $dlng; $coordinates[] = [$lat / 1e5, $lng / 1e5]; } return json_encode($coordinates); } ?>