• <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 閱讀(1659) 評論(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 | 我很笨
            亚洲国产另类久久久精品小说| 久久99热国产这有精品| 久久久www免费人成精品| 色综合久久久久综合体桃花网| 久久久久97国产精华液好用吗| 精品久久久久久久久中文字幕| 久久中文字幕精品| 久久久国产精品网站| 亚洲国产天堂久久综合网站 | 久久精品国产亚洲AV无码娇色| 香蕉久久永久视频| 亚洲狠狠久久综合一区77777 | 久久精品国产亚洲AV嫖农村妇女 | 色综合合久久天天给综看| AV无码久久久久不卡网站下载| 久久人人爽人人爽人人片AV不| 亚洲精品无码专区久久久| 看久久久久久a级毛片| 2021精品国产综合久久| 久久精品国产99国产电影网| www亚洲欲色成人久久精品| 性做久久久久久久久| 一本色道久久88综合日韩精品 | 国内精品欧美久久精品| 久久男人AV资源网站| 精品久久亚洲中文无码| 国产一久久香蕉国产线看观看| 精品免费久久久久国产一区| 久久人人爽人人爽人人片av麻烦| 久久久久亚洲精品天堂| 精品久久久久久无码中文野结衣 | 国产精品久久久久久久久免费 | 久久国产免费观看精品3| 国产三级精品久久| 久久国产劲爆AV内射—百度| 久久国产精品99久久久久久老狼 | 2021国产精品午夜久久| 久久精品视频网| 亚洲va中文字幕无码久久 | 亚洲国产香蕉人人爽成AV片久久| 久久丫精品国产亚洲av不卡|