½üÆÚµÄÒ»¸öphonegapÏîÄ¿°ÑÎÒ×öµÄ½¹Í·Àö×îÈÃÈ˵°Ì۵ľÍÊǰ²×¿4.1.x¶Ôhtml5µÄ¶¨Î»»ñÈ¡¾Î³¶ÈÓиöÎޱȾ޴óµÄ¿Ó£¬Ò»°ãÎÒÃÇÀûÓÃÈçÏ´úÂë½øÐÐhtml5µÄ¶¨Î»
navigator.geolocation.getCurrentPosition(function(pos){ alert(JSON.stringify(pos)) },
function(err){ alert(JSON.stringify(err)) }, { enableHighAccuracy: false,
timeout: 60*1000, maximumAge: 1000*60*10}); |
ÉÏÊö´úÂëÔÚiosÉÏÒ»ÇÐÕý³££¬ÔÚ°²×¿4.3¼°ÒÔºóµÄ»úÆ÷Ò²¿ÉÒÔÕý³£·ÃÎÊ£¬µ«ÊÇÔÚ°²×¿4.1ÉϾͻá³öÏÖtimeout£¬Èç¹ûÎÒÃǰÑ
enableHighAccuracy ÉèÖÃΪ true£¬ÄÇôÔÚÊÒÍ⣬¿ÕÆøÁ¼ºÃµÄµØ·½£¬°²×¿4.1½«Äܹ»Í¨¹ýÎÀÐǽøÐж¨Î»£¬µ«ÊÇËٶȾÞÂý£¬ÆäʵÎÒÃǺܶàʱºò²¢²»ÊÇÏëÒª·Ç³£¾«×¼µÄ¶¨Î»ÐÅÏ¢£¬ÍêÈ«¿ÉÒÔͨ¹ý»ùÕ¾»òÕßwifiÀ´¶¨Î»£¬ËäÈ»html5Ìṩ¸øÁËÎÒÃÇÕâÑùµÄ½Ó¿Ú£¬µ«Êǰ²×¿4.1ÉÏÖ§³ÖµÄ²»ÊǺܺá£
ÁíÍâÒ»¸ö¾Þ¿ÓÒ²Ö±½ÓÓ°ÏìÁËÎÒ¶ÔÕâ¸öÎÊÌâµÄÅжϣ¬Èç¹ûÎÒÖØÆôÁ˰²×¿4.1µÄ»úÆ÷£¬ÄÇôÉÏÊö´úÂ뽫Äܹ»Õý³£ÅÜ´óÔ¼¼¸Ð¡Ê±£¬ÉõÖÁ°ëÌ죬¿ÉÊǵ½Á˵ڶþÌìÓÖ»á³öÏÖͬÑùµÄÎÊÌ⣬ÎÞ¾¡µÄtimeout¡£×ܲ»ÄÜÈÿͻ§Ã¿´ÎʹÓö¨Î»¹¦Äܶ¼ÖØÆôÒ»´Î»úÆ÷°É£¬Éæ¼°Õâ¸öÎÊÌâµÄ»úÆ÷ÓаüÀ¨ÎҵĻªÎª£¬ÈýÐÇnote2£¬oppoµÈĿǰÖ÷Á÷µÄ°²×¿4.1ϵͳµÄ»ú×Ó£¬ÔÚÁíÍ⼸̨ÀýÈçglasky3¡¢ºìÃ׵Ȱ²×¿4.3µÄ»úÆ÷ÉÏûÓгöÏÖ¡£
È»ºóÎÒÖ±½Ó½«ÉÏÊö´úÂëÔÚä¯ÀÀÆ÷ÖÐÔËÐУ¬·¢ÏÖ°²×¿4.1Ò²ÊÇÎÞ·¨ÅÜÆðÀ´£¬ÌìÕæµÄÎÒÒÔΪÊǰ²×¿4.1¶Ôhtml5µÄ½Ó¿ÚÖ§³ÖÎÊÌ⣬ÓÚÊÇÀûÓÃcordova¼ÓÔØgeolocation²å¼þ£¬ÏëÀûÓÃcordovaµÄnative·½·¨½â¾öÕâ¸öÎÊÌ⣬µ«ÊÇÎÊÌâÒÀ¾É£¬ÆäÖÐÒâÍâµÄ·¢ÏÖÎҵĻªÎªºÍnote2Äܹ»ÅÜÆðÀ´ÁË£¬Æäʵֻ²»¹ýÅöÇɸÕÖØÆô¹ý¶øÒÑ¡£
Õâ¸öÊÇÎÒÔÚstackoverflowÉÏ·¢µÄÎÊÌ⣬Åöµ½ÕâÀàÎÊÌâµÄÖÐÍâÓÑÈ˾޶ࡣ
http://stackoverflow.com/questions/23383750/phonegap-geolocation-sometimes-not-working-on-android
ÈçºÎÌî²¹Õâ¸ö¿ÓÄØ£¿ÎÒËѱéÁËÕû¸öÍøÂ磬·¢ÏÖ¹úÍâ¿ÉÒÔʹÓÃgoogleµØÍ¼À´½â¾ö£¬¶ø¹úÄÚÖ»ÓÐʹÓðٶȵĶ¨Î»SDKÀ´½â¾öÁË£¬²»¹ý×îÐµİ²×¿°Ù¶È¶¨Î»SDK4.1ͬÑù¾Þ¿ÓÎޱȣ¬Ö±½ÓÏÂÔØ¹Ù·½µÄdemoÅÜÔÚÕæ»úÉϸ÷ÖÖÎÞ·¨¶¨Î»£¬Ò»Ö±±¨errorcode
602£¬ÓÚÊǹäÁËϰٶÈSDKµÄÂÛ̳£¬·¢ÏֺܶàÈË˵4.1°æ±¾µÄSDKÎÊÌâºÜ¶à£¬²»ÈçÓûØ4.0°æ±¾£¬ÓÚÊÇÎÒ±¨×ÅÊÔÊÔ¿´µÄÐÄÇéÓûØÁËSDK4.0°æ±¾£¬×îÖÕÔÚ°²×¿4.1µÄ»úÆ÷É϶¨Î»³É¹¦£¬²»´æÔÚÐèÒªÖØÆôµÄÇé¿ö£¬È»ºóÎÒ¸ù¾Ý
andybuit ×÷ÕߵĴúÂ룬С·ù¸Ä¶¯£¬·â×°³ÉÖ§³Öаæ cordova 3.4.1 µÄ²å¼þ·ÅÔÚgithubÉÏ£¬¹©Åöµ½Í¬ÑùÎÊÌâµÄÅóÓÑʹÓã¬Ï£ÍûÄܹ»°ïÖúµ½ËûÃÇ¡£ÔٴθÐл
andybuit ÌṩµÄ°Ù¶È¶¨Î»´úÂ룬лл£¡
а汾²å¼þµØÖ·£º
https://github.com/DoubleSpout/phonegap_baidu_sdk_location
ÏÂÃæ²½ÈëÕýÌ⣬ͨ¹ýÒ»¸ö¼òµ¥µÄ°²×¿ hello world ³ÌÐòÀ´ÔËÓðٶȶ¨Î»²å¼þ
1¡¢½¨Á¢ hello world ÏîÄ¿£º
cordova create hello com.example.hello HelloWorld |
2¡¢½¨Á¢°²×¿Ö§³Ö£¬Ä¿Ç°±¾²å¼þÖ»Ö§³Ö°²×¿£¬ËƺõÒ²Ö»ÒªÖ§³Ö°²×¿£¬ios¶Ôhtml5µÄ¶¨Î»Ö§³ÖµÄ·Ç³£ºÃ£¬ÎÞÐë°Ù¶È¶¨Î»SDK
cordova platform add android |
3¡¢°²×° baidu ¶¨Î»µÄ²å¼þ£º
¿ÉÒÔͨ¹ýgitÀ´ÏÂÔØÔ¶³ÌµÄ£¬ÐèÒª°²×°gitÃüÁî
cordova plugin add https://github.com/DoubleSpout/phonegap_baidu_sdk_location.git |
Ò²¿ÉÒÔ½«²å¼þÏÂÔØµ½ hello\plugins Ŀ¼Ï£¬Îļþ¼ÐÖØÃüÃûΪ com.spout.phonegap.plugins.baidulocation£¬È»ºóÖ´ÐÐÃüÁ
cordova plugin install com.spout.phonegap.plugins.baidulocation |
4¡¢²å¼þ°²×°Íê³ÉÖ®ºó£¬Ö´ÐÐÒ»´Î build ÃüÁ½«²å¼þµÄÅäÖÃÎļþдÈ밲׿ƽ̨Ŀ¼£º
5¡¢´ò¿ªeclipse£¬¶ÔhelloÏîÄ¿½øÐÐÅäÖãº
5.1¡¢Ð½¨¹¤³Ì

5.2¡¢´ÓÒÑÓдúÂë¿âÌí¼Ó

5.3¡¢ÕÒµ½°²×¿µÄÏîĿ·¾¶

5.4¡¢±à¼ÏîÄ¿ÊôÐÔ

5.5¡¢Ìí¼Ó°Ù¶ÈsdkµÄjarÎļþ

5.6¡¢Ñ¡ÔñlocSDK

5.7¡¢±à¼source ¸½¼þ

5.8¡¢Í¬ÑùÑ¡Ôñ°Ù¶ÈsdkµÄjar

5.9¡¢±£´æÂ·¾¶

5.10¡¢Ñ¡Ôñorder and export ½«Ç°ÃæÈ«²¿´ò¹´

5.11¡¢½«Îı¾±à¼±àÂë¸ÄΪutf-8

5.12¡¢´ò¿ª hello\platforms\android\src\com\spout\phonegap\plugins\baidulocation\BaiduLocation.java
Îļþ£¬ÐÞ¸Ä×Ô¼ºµÄapkkey£¨Æäʵ²»ÐÞ¸ÄÒ²ÄÜʹÓã©£¬´óÔ¼ÔÚ64ÐУº

keyµÄÉú³ÉºÍ»ñÈ¡Ïê¼û°Ù¶ÈsdkµÄkey»ñÈ¡Ò³Ãæ£¬µØÖ·£º
http://developer.baidu.com/map/geosdk.htm
6¡¢ÕÒµ½ hello\www\js\index.js Îļþ£¬Ð޸IJ¢Ôö¼ÓÈçϼ¸ÐУ¬Í¨¹ý°Ù¶ÈSDK»ñÈ¡¾Î³¶È£º
onDeviceReady: function() { app.receivedEvent('deviceready');
//ͨ¹ý°Ù¶ÈsdkÀ´»ñÈ¡¾Î³¶È,²¢ÇÒalert³ö¾Î³¶ÈÐÅÏ¢
var noop = function(){}
window.locationService.getCurrentPosition(function(pos){
alert(JSON.stringify(pos))
window.locationService.stop(noop,noop)
},function(e){
alert(JSON.stringify(e))
window.locationService.stop(noop,noop)
});
},
|
7¡¢Íê³ÉÉÏÊö¹¤×÷ºó£¬Ö´ÐÐÃüÁî´ò°üÉú²úAPK£¬×¢Òâ°Ù¶È¶¨Î»µÄSDKÔÚÄ£ÄâÆ÷ÉÏÊÇÎÞ·¨ÔËÐеģ¬»áÆØ³ö167´íÎóÂë
8¡¢½« hello\platforms\android\ant-build\HelloWorld-debug-unaligned.apk
Îļþ¿½±´µ½Ö®Ç°ÓÐÎÊÌâµÄ°²×¿4.1µÄ»úÆ÷ÉÏ£¬ÏÔʾÈçÏÂͼ£¬Í¨¹ýwifi³É¹¦¿ìËÙ»ñÈ¡µ½¾Î³¶ÈÐÅÏ¢£¬ÔÙÒ²²»ÓÃÖØÆô»ú×ÓÁË£º

|