• <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

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

            BREW平臺上如何通過GPS設備獲取經緯度

             

              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的回調函數
             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(經度) = %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 閱讀(1661) 評論(8)  編輯 收藏 引用 所屬分類: 其他手機平臺

            評論

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

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

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

            bmp
            2010-05-20 12:23 | Benjamin

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

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

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

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

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

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

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

            現在代碼是在網頁上,怎么樣在手機里面運行啊,大哥
            2010-05-21 22:13 | 小雷

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

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

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

            你好,首先感謝樓主分享的源碼
            我在使用源碼的時候 總是在回調函數里面出現
            case AEEGPS_ERR_GENERAL_FAILURE: 錯誤,請問樓主指點一下迷津。我的QQ253320465
            2013-03-08 20:43 | 我很笨
            中文字幕无码免费久久| 97视频久久久| 亚洲av成人无码久久精品| 精品99久久aaa一级毛片| 高清免费久久午夜精品| 久久天天躁狠狠躁夜夜96流白浆| 久久久噜噜噜久久中文字幕色伊伊 | 97久久婷婷五月综合色d啪蜜芽| 久久综合给合综合久久| 亚洲欧洲久久久精品| 亚洲欧美精品一区久久中文字幕| 性做久久久久久免费观看| 久久久久久免费视频| 久久人人妻人人爽人人爽| 久久亚洲春色中文字幕久久久| 成人国内精品久久久久影院| 久久电影网一区| 精品乱码久久久久久夜夜嗨| 久久国产三级无码一区二区| 亚洲va久久久久| 婷婷伊人久久大香线蕉AV| 久久精品国产一区二区三区日韩| 69SEX久久精品国产麻豆| 久久精品国产亚洲一区二区三区| 久久综合色之久久综合| 无码国产69精品久久久久网站| 久久久久99精品成人片试看| 夜夜亚洲天天久久| 99精品国产免费久久久久久下载| 亚洲va久久久噜噜噜久久天堂| 国产精品久久久久天天影视| 久久精品这里只有精99品| 色综合久久久久无码专区| 国产高清国内精品福利99久久| 一本久久a久久精品综合香蕉| 久久狠狠高潮亚洲精品| 日本国产精品久久| 老司机国内精品久久久久| 性做久久久久久久| 欧美久久一级内射wwwwww.| 99久久99久久精品免费看蜜桃|