Ejemplo n.º 1
0
        public void Write(Bus13VehicleLocationUpdate update)
        {
            if (_kmlWriter == null)
            {
                _kmlWriter = GetKmlWriter(update.Vehicle.Id, _outputDir);
            }

            if (update.Waypoints != null && update.Waypoints.Any())
            {
                foreach (var waypoint in update.Waypoints)
                {
                    Console.WriteLine(
                        "id:{0}, fr:{1:F2}, lat:{2}, lng:{3}",
                        update.Vehicle.Id,
                        waypoint.Fraction,
                        waypoint.Location.Position.Latitude,
                        waypoint.Location.Position.Longitude);

                    _kmlWriter.AddPoint(waypoint.Location.Position);
                }
            }

            _kmlWriter.AddPoint(update.Vehicle.Location.Position);
            _kmlWriter.Save();
        }
        /// <summary>
        /// Generates a KML file from the current set of tracks
        /// </summary>
        /// <returns></returns>
        public byte[] GenerateKML(string name = "")
        {
            var writer = new KmlFileWriter();

            writer.WriteHeader(name);
            foreach (var track in ListTracks())
            {
                writer.WriteTrack(track);
            }
            return(Encoding.ASCII.GetBytes(writer.GetXml()));
        }