• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Benjamin

            靜以修身,儉以養(yǎng)德,非澹薄無以明志,非寧靜無以致遠。
            隨筆 - 397, 文章 - 0, 評論 - 196, 引用 - 0
            數(shù)據(jù)加載中……

            BREW平臺上如何通過GPS設備獲取經(jīng)緯度

             

              1 typedef struct _App {
              2  AEEApplet      a ;        // First element of this structure must be AEEApplet
              3  AEEDeviceInfo  DeviceInfo; // always have access to the hardware device information
              4  Common common;
              5  // add your own variables here
              6  
              7 //有關GPS的變量
              8  IPosDet* posdet;
              9  AEEGPSInfo gpsinfo; 
             10 
             11  char latchar[64];
             12  char lonchar[64];
             13 
             14 } App;
             15 
             16 
             17 //GPS
             18 static void GetGPS(App* app);
             19 static void OnGPSNotify(App* app);
             20 
             21 //初始化GPS相關的變量
             22 static boolean OnAppStart(App* app)
             23 {
             24  IDisplay* display = app->a.m_pIDisplay;
             25  IShell* shell = app->a.m_pIShell;
             26 
             27  app->posdet = NULL;
             28  ISHELL_CreateInstance(app->a.m_pIShell, AEECLSID_POSDET, (void**)&app->posdet);
             29 
             30  return TRUE;
             31 }
             32 
             33 //獲取GPS
             34 static void GetGPS(App* app)
             35 {
             36  int ret;
             37  char buffer[80];
             38 
             39 
             40  CALLBACK_Init(&app->callback, (PFNNOTIFY)OnGPSNotify, (void*)app);
             41 
             42  ret = IPOSDET_GetGPSInfo(app->posdet, AEEGPS_GETINFO_LOCATION, AEEGPS_ACCURACY_LEVEL6, &app->gpsinfo, &app->callback);
             43  switch (ret) {
             44   case EPRIVLEVEL:
             45    STRCPY(buffer, "EPRIVLEVEL");
             46    break;
             47 
             48   case EBADPARM:
             49    STRCPY(buffer, "EBADPARM");
             50    break;
             51 
             52   case EUNSUPPORTED:
             53    STRCPY(buffer, "EUNSUPPORTED");
             54    break;
             55 
             56   case EFAILED:
             57    STRCPY(buffer, "EFAILED");
             58    break;
             59 
             60   case SUCCESS:
             61    STRCPY(buffer, "SUCCESS");
             62    break;
             63 
             64   default:
             65    STRCPY(buffer, "DEFAULT");
             66    break;
             67  }
             68 
             69  if (ret != SUCCESS)
             70  {
             71   CALLBACK_Cancel(&app->callback);
             72  }
             73  return;
             74 }
             75 
             76 //GPS的回調函數(shù)
             77 static void OnGPSNotify(App* app)
             78 {
             79  char szLat[32= {0};
             80  char szLon[32= {0};
             81  char szBuf[64= {0};
             82  AECHAR latwchar[64= {0};
             83  AECHAR lonwchar[64= {0};
             84 
             85  double lat = 0;
             86  double lon = 0;
             87 
             88  char m_gURL[256= {0};
             89  
             90  int pnInLen = 0;
             91 
             92  MEMSET(app->latchar,0,64);
             93  MEMSET(app->lonchar,0,64);
             94  
             95 
             96  lat = WGS84_TO_DEGREES(app->gpsinfo.dwLat);
             97  lon = WGS84_TO_DEGREES(app->gpsinfo.dwLon);
             98  FLOATTOWSTR(lat, latwchar, 64);
             99  FLOATTOWSTR(lon, lonwchar, 64);
            100  WSTRTOSTR(latwchar, app->latchar, 64);
            101  WSTRTOSTR(lonwchar, app->lonchar, 64);
            102 
            103 
            104   SPRINTF(szLat, "Latitude(緯度) = %d", app->gpsinfo.dwLat);
            105 
            106  SPRINTF(szLon, "Longitude(經(jīng)度) = %d", app->gpsinfo.dwLon);
            107 
            108 
            109  switch (app->gpsinfo.status) {
            110   case AEEGPS_ERR_NO_ERR:
            111    STRCPY(szBuf, "SUCCESS !");
            112    break;
            113 
            114   case AEEGPS_ERR_GENERAL_FAILURE:
            115    STRCPY(szBuf, "AEEGPS_ERR_GENERAL_FAILURE");
            116    break;
            117 
            118   case AEEGPS_ERR_TIMEOUT:
            119    STRCPY(szBuf, "AEEGPS_ERR_TIMEOUT");
            120    break;
            121 
            122   case AEEGPS_ERR_ACCURACY_UNAVAIL:
            123    STRCPY(szBuf, "AEEGPS_ERR_ACCURACY_UNAVAIL");
            124    break;
            125 
            126   case AEEGPS_ERR_INFO_UNAVAIL:
            127    STRCPY(szBuf, "AEEGPS_ERR_INFO_UNAVAIL");
            128    break;
            129 
            130   default:
            131    STRCPY(szBuf, "DEFAULT");
            132    break;
            133  }
            134  return;
            135 }

            posted on 2010-04-05 00:11 Benjamin 閱讀(1666) 評論(8)  編輯 收藏 引用 所屬分類: 其他手機平臺

            評論

            # re: BREW平臺上如何通過GPS設備獲取經(jīng)緯度  回復  更多評論   

            請問保存為什么格式的文件能夠在手機上運行啊?感謝
            2010-05-20 10:38 | 小雷

            # re: BREW平臺上如何通過GPS設備獲取經(jīng)緯度  回復  更多評論   

            bmp
            2010-05-20 12:23 | Benjamin

            # re: BREW平臺上如何通過GPS設備獲取經(jīng)緯度  回復  更多評論   

            bmp是圖像格式啊,暈,指點一下咯,復制到記事本里面保存為什么格式能夠在手機里面用,或者怎么樣操作能夠在手機里面用,麻煩詳細一點,感謝
            2010-05-21 12:52 | 小雷

            # re: BREW平臺上如何通過GPS設備獲取經(jīng)緯度  回復  更多評論   

            獲取經(jīng)緯度后,然后在利用這個經(jīng)緯度向谷歌發(fā)送get請求,獲得的數(shù)據(jù)保存成bmp格式的圖片就行。不過怎樣向谷歌發(fā)請求,這個算法稍微有些復雜,要拼URL,而且就是這樣獲取的圖片也不是最終的圖片,如果想要讓圖片顯示正確,必須要發(fā)多次請求才可以。而且請求下的圖片,還要經(jīng)過一定的算法將這幾個圖片拼成一個圖片,這個過程大致就是這樣的;獲取經(jīng)緯度或的操作比較復雜@小雷
            2010-05-21 14:00 | Benjamin

            # re: BREW平臺上如何通過GPS設備獲取經(jīng)緯度  回復  更多評論   

            怎么樣在手機上運行啊,大哥
            2010-05-21 22:07 | 小雷

            # re: BREW平臺上如何通過GPS設備獲取經(jīng)緯度  回復  更多評論   

            現(xiàn)在代碼是在網(wǎng)頁上,怎么樣在手機里面運行啊,大哥
            2010-05-21 22:13 | 小雷

            # re: BREW平臺上如何通過GPS設備獲取經(jīng)緯度[未登錄]  回復  更多評論   

            @小雷
            別問那么傻的問題。
            2011-08-15 15:37 | R

            # re: BREW平臺上如何通過GPS設備獲取經(jīng)緯度  回復  更多評論   

            你好,首先感謝樓主分享的源碼
            我在使用源碼的時候 總是在回調函數(shù)里面出現(xiàn)
            case AEEGPS_ERR_GENERAL_FAILURE: 錯誤,請問樓主指點一下迷津。我的QQ253320465
            2013-03-08 20:43 | 我很笨
            久久精品国产国产精品四凭| 精品久久久无码人妻中文字幕| 狠狠色丁香婷婷久久综合不卡| 无夜精品久久久久久| 久久久久人妻精品一区三寸蜜桃 | 婷婷久久五月天| 国产毛片欧美毛片久久久| 国产午夜电影久久| 77777亚洲午夜久久多喷| 亚洲国产精品综合久久一线| AV狠狠色丁香婷婷综合久久| 久久精品一本到99热免费| 久久国产亚洲精品无码| 欧美伊人久久大香线蕉综合 | 熟妇人妻久久中文字幕| 久久久91人妻无码精品蜜桃HD| 久久WWW免费人成—看片| 久久久噜噜噜久久| 久久久久久久国产免费看| 人妻丰满AV无码久久不卡| 熟妇人妻久久中文字幕| 久久精品无码一区二区三区日韩 | 久久无码AV中文出轨人妻| 婷婷久久久亚洲欧洲日产国码AV | 久久99精品久久久久久久不卡| 久久91精品国产91久久小草 | 久久狠狠一本精品综合网| 精品久久久久久久久免费影院| 久久中文字幕一区二区| 久久99精品久久久久久久久久| 久久久久国产一区二区| 久久精品亚洲中文字幕无码麻豆 | 久久亚洲精品无码观看不卡| 蜜臀久久99精品久久久久久小说 | 久久人人爽人人爽人人片AV不| 久久久国产精品| 久久九九有精品国产23百花影院| 亚洲va久久久噜噜噜久久| 亚洲国产成人久久综合一区77| 国内精品伊人久久久久网站| 久久综合噜噜激激的五月天|