1.调用经纬度信息显示
例:
string st="GT123_1";
//调用javascritpt函数标注地图
WebBrowser mapWB = (WebBrowser)baiDuMap.Content;
mapWB.InvokeScript("theLocation", new object[] { DegreeConvert(gpsInfo.lon) , DegreeConvert(gpsInfo.lat) });
/*经纬度转换 : 输入nmea的 度分.xx 格式,输出 度.xxx */
double DegreeConvert(double sDegree)
/*经纬度转换 : 输入nmea的 度分.xx 格式,输出 度.xxx */
double DegreeConvert(double sDegree)
{
double dDegree;
if (sDegree == 0)return 0;
int integer = (int)sDegree;
double decimal = sDegree - (int)sDegree;
double min = integer % 100;
int hour =(int) (integer / 100);
dDegree = (double)hour + (double)(min / 60) + (double)(decimal / 60);
return dDegree;
}
例:
DegreeConvert(gpsInfo.lon)
11720.3178 E ---->117.338630 E
DegreeConvert(gpsInfo.lat)
3906.2523 N ---->39.104205 N
2.接受外来参数,显示
//调用javascritpt函数标注地图
WebBrowser mapWB = (WebBrowser)baiDuMap.Content;
// mapWB.InvokeScript("theLocation", new object[] { DegreeConvert(gpsInfo.lon), DegreeConvert(gpsInfo.lat) });
// mapWB.InvokeScript("theLocation", new object[] { 117.33865, 39.10422 });
string receiveText2 = System.Text.Encoding.Default.GetString(recData, 0, dataLength);// 将接受到的字节数据转化成字符串;
string[] sArray = receiveText2.Split(',');
// mapWB.InvokeScript("theLocation", new object[] { double.Parse(sArray[0]), double.Parse(sArray[1]) });
mapWB.InvokeScript("theLocation", new object[] { Convert.ToDouble(sArray[0]), Convert.ToDouble(sArray[1]) });
mapWB.InvokeScript("theLocation", new object[] { DegreeConvert(gpsInfo.lon), DegreeConvert(gpsInfo.lat)
注意以上2个参数为double型
3.C#字符串截取和处理
根据单个分隔字符用split截取
例如
复制代码代码如下:
using System.Text.RegularExpressions;
string st="GT123_1";
string[] sArray=st.split("_");
即可得到sArray[0]="GT123",sArray[1]="1";
string--->double
double.Parse(sArray[0])或Convert.ToDouble(sArray[0])
--