private SerialPortGpsConnection serialPortGpsConnection1 = new SerialPortGpsConnection(); private void openButton_Click(object sender, RoutedEventArgs e) { try { // Create an instance of MobileCache, and set StoragePath MobileCache m_mobileCache = new MobileCache(); m_mobileCache.StoragePath = @c:\temp\MapCache; m_mobileCache.Open(); // Load layers from MobileCache to Map control mapControl1.MapLayers.AddRange(m_mobileCache); //Declare a generic GPS connection variable GpsConnection GpsConn = null; //Uncoment to Use SerialGPSConnection if you are reading GPS data from a device serialPortGpsConnection1.PortName = "AUTO"; serialPortGpsConnection1.LoggingFile = @c:\temp\logginggps.log; serialPortGpsConnection1.Open(); Boolean port = serialPortGpsConnection1.IsOpen; if (port) MessageBox.Show("open"); GpsConn = serialPortGpsConnection1; gpsDisplayControl1.GpsConnection = GpsConn; gpsDisplayControl1.Map = mapControl1; } catch (Exception ex) { MessageBox.Show(ex.Message); } }
Did you ever get this to work? I am trying to use a SerialPortGpsConnection with a GPS emulator. I know the SerialPortGpsConnection finds the gps connection and it writes successfully to the log file. And I assigned it to the GPSDisplay but it never updates the GPS location on the map. private SerialPortGpsConnection serialPortGpsConnection1 = new SerialPortGpsConnection(); private void openButton_Click(object sender, RoutedEventArgs e) { try { // Create an instance of MobileCache, and set StoragePath MobileCache m_mobileCache = new MobileCache(); m_mobileCache.StoragePath = @c:\temp\MapCache; m_mobileCache.Open(); // Load layers from MobileCache to Map control mapControl1.MapLayers.AddRange(m_mobileCache); //Declare a generic GPS connection variable GpsConnection GpsConn = null; //Uncoment to Use SerialGPSConnection if you are reading GPS data from a device serialPortGpsConnection1.PortName = "AUTO"; serialPortGpsConnection1.LoggingFile = @c:\temp\logginggps.log; serialPortGpsConnection1.Open(); Boolean port = serialPortGpsConnection1.IsOpen; if (port) MessageBox.Show("open"); GpsConn = serialPortGpsConnection1; gpsDisplayControl1.GpsConnection = GpsConn; gpsDisplayControl1.Map = mapControl1; } catch (Exception ex) { MessageBox.Show(ex.Message); } }
if (signinExtension.UserID == "工�?人�??A") { fgc = new FileGpsConnection(); fgc.Enabled = true; fgc.FileName = @c:\fangchengdongli.txt; fgc.Cycling = true; fgc.ReadInterval = 1000; MobileApplication.Current.GpsConnectionManager.GpsDisplay.GpsConnection = fgc; fgc.Open(); }
_serialPortGpsConnection = new SerialPortGpsConnection(); gpsDisplayControl1 = new GpsDisplayControl(); _serialPortGpsConnection.PortName = "AUTO"; _serialPortGpsConnection.LoggingFile = @c:\temp\logginggps.log; _serialPortGpsConnection.Open(); if (!_serialPortGpsConnection.IsOpen) { System.Windows.MessageBox.Show("GPS Device could not be detected"); return; } Boolean port = _serialPortGpsConnection.IsOpen; if (!port) System.Windows.MessageBox.Show("The serial port could not be detected"); GpsConn = _serialPortGpsConnection; if (!GpsConn.IsOpen) System.Windows.MessageBox.Show("The GPS Connection could not be established"); gpsDisplayControl1.GpsConnection = GpsConn; gpsDisplayControl1.Map = _map; gpsDisplayControl1.AutoPan = true; _map.MapGraphicLayers.Add(gpsDisplayControl1); _buttonLabel = "GPS Off"; gpsOnOff = true;
if (!_serialPortGpsConnection.IsOpen) { System.Windows.MessageBox.Show("GPS Device could not be detected"); return; }
Boolean port = _serialPortGpsConnection.IsOpen; if (!port) System.Windows.MessageBox.Show("The serial port could not be detected");
GpsConn = _serialPortGpsConnection; if (!GpsConn.IsOpen) System.Windows.MessageBox.Show("The GPS Connection could not be established");
Hi, buddha, I haven't used the serialPortGpsConnection1, try to enable serialPortGpsConnection first and set GpsConn = serialPortGpsConnection1; gpsDisplayControl1.GpsConnection = GpsConn; gpsDisplayControl1.Map = mapControl1;before you open it.About my problem, I finally figure it out by using the internal GPSDisplay and GPSConnection class within the ArcGIS Mobile App for Windows. the key code is:if (signinExtension.UserID == "工�?人�??A") { fgc = new FileGpsConnection(); fgc.Enabled = true; fgc.FileName = @c:\fangchengdongli.txt; fgc.Cycling = true; fgc.ReadInterval = 1000; MobileApplication.Current.GpsConnectionManager.GpsDisplay.GpsConnection = fgc; fgc.Open(); }
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registriere ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.