From 28591415fa916118b9c00b0dbb91b597e7b3eaa0 Mon Sep 17 00:00:00 2001 From: Krivchikov Dmitry Date: Sun, 15 May 2016 11:41:21 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B2=D0=B0=D1=8F=20=D0=BD?= =?UTF-8?q?=D0=BE=D1=80=D0=BC=D0=B0=D0=BB=D1=8C=D0=BD=D0=B0=D1=8F=20=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D1=81=D0=B8=D1=8F=20=D1=80=D0=B0=D0=B7=D0=B1=D0=BE?= =?UTF-8?q?=D1=80=D0=B0=20=D1=84=D0=B0=D0=B9=D0=BB=D0=B0=20=D0=B2=20=D1=84?= =?UTF-8?q?=D0=BE=D1=80=D0=BC=D0=B0=D1=82=D0=B5=20GPX.=20=D0=9D=D0=B5=20?= =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=D1=8E=D1=82=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=BA=D0=B0=20=D1=82=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20=D0=BD?= =?UTF-8?q?=D0=B5=D0=B9=D0=BC=D1=81=D0=BF=D0=B5=D0=B9=D1=81=D1=8B=20=D0=B2?= =?UTF-8?q?=20XML,=20=D1=82.=D0=B5.=20=D0=BD=D0=B5=20=D0=B2=D1=8B=D1=82?= =?UTF-8?q?=D1=8F=D0=B3=D0=B8=D0=B2=D0=B0=D0=B5=D1=82=D1=81=D1=8F=20=D0=B4?= =?UTF-8?q?=D0=BE=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D1=8C?= =?UTF-8?q?=D0=BD=D0=B0=D1=8F=20=D0=B8=D0=BD=D1=84=D0=BE=D1=80=D0=BC=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D1=8F.=20=D0=9D=D0=B0=20=D0=BA=D0=B0=D1=80=D1=82?= =?UTF-8?q?=D0=B5=20=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=D1=8F=D1=82=D1=81=D1=8F?= =?UTF-8?q?=20=D1=82=D0=BE=D1=87=D0=BA=D0=B8=20WPT=20=D0=B8=20=D1=84=D1=80?= =?UTF-8?q?=D0=B0=D0=B3=D0=BC=D0=B5=D0=BD=D1=82=D1=8B=20=D1=82=D1=80=D0=B5?= =?UTF-8?q?=D0=BA=D0=B0=20=D1=81=20=D0=B8=D0=BC=D0=B5=D0=BD=D0=B0=D0=BC?= =?UTF-8?q?=D0=B8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controllers/IndexController.php | 72 ++++++++++++++++++++++++++++++++ public/ico/marker.png | Bin 0 -> 1329 bytes public/js/map.js | 35 ++++++++++++++++ 3 files changed, 107 insertions(+) create mode 100644 public/ico/marker.png diff --git a/controllers/IndexController.php b/controllers/IndexController.php index 01d5b24..cd76f3b 100644 --- a/controllers/IndexController.php +++ b/controllers/IndexController.php @@ -3,6 +3,78 @@ class IndexController extends Controller { + static function actionTest() + { +// $gpxObject = simplexml_load_file('/tmp/doc2.gpx'); + $gpxObject = simplexml_load_file('/tmp/doc(gpsvisualizer.com).gpx'); +// $gpxObject = simplexml_load_file('/tmp/1100.gpx'); + + $trip = array( + 'name' => isset($gpxObject->metadata->name) ? (string) $gpxObject->metadata->name : 'Track', + 'time' => isset($gpxObject->metadata->time) ? strtotime($gpxObject->metadata->time) : '', + ); + + $wayPoints = array(); + $tracks = array(); + $latlngs = array(); + + foreach ($gpxObject as $key => $block) { + if ($key == 'wpt') { + if (empty($block)) { + continue; + } + + $wayPoints[] = array( + 'lat' => floatval($block['lat']), + 'lng' => floatval($block['lon']), + 'time' => strtotime($block->time), + 'name' => (string) $block->name, + 'desc' => (string) $block->desc, + ); + } + + if ($key == 'trk') { +// print_r($block);die; + if (empty($block->trkseg)) { + continue; + } + + foreach ($block->trkseg as $trkpt) { + if ($trkpt) { + $trackPoints = array(); + $latlngs = array(); + foreach ($trkpt as $tpt) { +// $trackPoints[] = array( +// 'lat' => floatval($tpt['lat']), +// 'lng' => floatval($tpt['lon']), +// 'time' => isset($tpt->time) ? strtotime($tpt->time) : 0, +// 'ele' => isset($tpt->ele) ? floatval($tpt->ele) : 0, +// ); + $latlngs[] = array( + 'lat' => floatval($tpt['lat']), + 'lng' => floatval($tpt['lon']), + ); + } + } + } +// $tracks[] = $trackPoints; + $tracks[] = array( + 'name' => (string)$block->name, + 'length' => 0, + 'latlngs' => $latlngs + ); + } + } + + $trip['tracks'] = $tracks; +// $trip['latlngs'] = $latlngs; + + $trip['wayPoints'] = $wayPoints; + + + self::renderPartial('json.php', $trip); + } + /** * Действие по умолчанию */ diff --git a/public/ico/marker.png b/public/ico/marker.png new file mode 100644 index 0000000000000000000000000000000000000000..450335309e5a1c0724662b274a655b6b21f1af19 GIT binary patch literal 1329 zcmV-11yyYaG8&D!0KNk7K&Ia(06t_{_Ta_=m`tX3DW%^4 z$VX!I7a_#Fu(0sMe+r6S*uE=0)RHz888?O zZxcd(6w2!B>(SHGgY4|=xOv~--$#FcKW1lVMRH2%I~>RT6p=}(psK3sWrks%0(dDb z>+0%))oMj*YU;IxPft%rV`C$dlanz&KYz7TLK<>&b4R^iuU}}dkUB_8N_q@H9p)Pv z8qm_x5&?90c!-&q8B9-4!|U}%=-b-bP*+zc6sa$L$1XulP0g!HrSgw3pP8A7$;nCN z7e+*482(hO`Ingg;VJQczr6EUJ05ol9wDWd-Z&>pWjtTFM_+DMqva3c?>{Wo1w( zuGDL5YqCe+>guX6`cU`rKQDed}#pg@W;l+hIBN` z4xpljzd%P|`KOfcA)z^X-78Z(v^>{p@(JaJ>2!IgsJXS3M zz-F^a8%jh9g#vwjeIgr|%Y}Ft3W)2zXaV*}^s=O`~PM@>zQwAnB? zIEb;aF`>xAvg{oIH0Et+G#c#yJ{2CL(a}-pbh?CIBg@On=;-JW4JAUz=L-u9pTxb4 z0DLQCE-o(6+1ZJSi3w0juLTZ;LKq((hs9zMfnNsjovinO$z*y;DSazSc3`zyq19?Z z2#El8yWJQV7{JofQiM-R=`)Vw?#X?S=m;Upv0hB+>FLnvbo_aDxm;LVTf^z;X{^Kq z0o-L-_BYvYLX*ifL@E6Uw?LHAuQ`shL_NB3&a@4{-?xB&OeuX7OR0>d*xug$N2AdM z0K9p_-9K7fT>K^GMz2{s1mO7%@HfxS&K}1zh#LUQvgedi>kW3_?Q*#SxAANCGk|*u z;!m?I`}%c83OSw_hWP-%K?2~uP$<+U$52)Pb8~YZLdg5V86H3Lv~_WDaZ8SGrQ9v; z?CiWytJNw1uf?q?Az!d8`=wmJibRT9Qc}_b;MX`NGZ`5fpC#gxB-+_}y