• <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)德,非澹薄無以明志,非寧靜無以致遠。
            隨筆 - 398, 文章 - 0, 評論 - 196, 引用 - 0
            數(shù)據(jù)加載中……

            BREW平臺上如何通過GPS設(shè)備獲取經(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 //有關(guān)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相關(guān)的變量
             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的回調(diào)函數(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 閱讀(1684) 評論(8)  編輯 收藏 引用 所屬分類: 其他手機平臺

            評論

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

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

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

            bmp
            2010-05-20 12:23 | Benjamin

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

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

            # re: BREW平臺上如何通過GPS設(shè)備獲取經(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設(shè)備獲取經(jīng)緯度  回復  更多評論   

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

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

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

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

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

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

            你好,首先感謝樓主分享的源碼
            我在使用源碼的時候 總是在回調(diào)函數(shù)里面出現(xiàn)
            case AEEGPS_ERR_GENERAL_FAILURE: 錯誤,請問樓主指點一下迷津。我的QQ253320465
            2013-03-08 20:43 | 我很笨
            一本色综合久久| 久久久久18| 精品久久久久久久无码| 日日躁夜夜躁狠狠久久AV| 老色鬼久久亚洲AV综合| 国产精品九九久久免费视频 | 久久99国产精品久久99| 久久精品国产亚洲精品| 国产成人无码精品久久久性色| 好属妞这里只有精品久久| 久久亚洲sm情趣捆绑调教| 色综合久久久久| 欧洲人妻丰满av无码久久不卡| 久久精品亚洲福利| 久久99免费视频| 国产精品久久久久免费a∨| 99久久精品国产一区二区蜜芽| 久久久久高潮综合影院| 久久久WWW免费人成精品| 国产精品久久久久…| 伊人久久综合精品无码AV专区| 久久强奷乱码老熟女| 久久99国产精品一区二区| 日韩人妻无码精品久久久不卡 | 无码专区久久综合久中文字幕| 久久精品国产只有精品66| 亚洲国产二区三区久久| 国产亚洲精久久久久久无码| 99久久精品免费看国产一区二区三区 | 99久久99这里只有免费费精品| 一本色综合久久| 久久人妻少妇嫩草AV无码蜜桃| 精品久久人人做人人爽综合| 久久免费高清视频| 久久久久一区二区三区| 18岁日韩内射颜射午夜久久成人| 久久精品国产亚洲AV电影| .精品久久久麻豆国产精品 | 久久久久亚洲AV无码网站| 久久99精品久久久久久hb无码| 久久人爽人人爽人人片AV|