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(); }
Les membres connectés peuvent publier, suivre les mises à jour, et plus encore. Nouveau ici ? Inscrivez-vous gratuitement.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.