2013-05-19 60 views
0

這下面的鏈接代碼基礎上的無線上網獲取GPS基準:
http://docs.xamarin.com/guides/android/platform_features/maps_and_location/part_3_-_location_services如何使用Xamarin

我不能得到任何緯度/經度(GPS/WIFI)

的代碼如下:

我已經加入: <使用的許可機器人:名稱= 「android.permission.ACCESS_COARSE_LOCATION」/> & LT:使用的許可機器人:名稱= 「android.permission.ACCESS_FINE_LOCATION」/>

Android.Locations

using System; 

using Android.App; 

using Android.Content; 

using Android.Runtime; 

using Android.Views; 

using Android.Widget; 

using Android.OS; 


//-- add these 


using Android.Locations; 

using System.Collections.Generic; 

using System.Threading; 

using System.Text; 

using System.Linq; 

using System.Xml; 



namespace GPSWifi 

{ 

    [Activity (Label = "GPSWifi", MainLauncher = true)] 

    public class Activity1 : Activity 
    { 
        int count = 1; 

     private LocationManager _locMgr; 



    protected override void OnCreate (Bundle bundle) 
    { 
     base.OnCreate (bundle); 

     // Set our view from the "main" layout resource 

     SetContentView (Resource.Layout.Main); 


       InitializeLocationManager();  

    } 



    private void InitializeLocationManager() 
    { 

     _locMgr = (LocationManager) GetSystemService(LocationService); 

     var locationCriteria = new Criteria(); 

     locationCriteria.Accuracy = Accuracy.NoRequirement; 

     locationCriteria.PowerRequirement = Power.NoRequirement; 

     string locationProvider = _locMgr.GetBestProvider(locationCriteria, true); 

     _locMgr.RequestLocationUpdates (locationProvider, 2000, 1, this);  

     } 



    protected override void OnResume() 
    { 

     base.OnResume(); 

    _locMgr.RequestLocationUpdates (LocationManager.GpsProvider, 2000, 1, this); 


       } 



    protected override void OnPause() 
    { 

     base.OnPause(); 
     _locMgr.RemoveUpdates (this); 

    } 



    public void OnProviderDisabled(string provider) {} 


    public void OnProviderEnabled(string provider) {} 




    public void OnLocationChanged (Location location) 
    { 

    var locationText = FindViewById<TextView>(Resource.Id.locationTextView); 

    locationText.Text = String.Format ("Latitude = {0}, Longitude = {1}", 

               location.Latitude, location.Longitude); 



     } 

    } 

} 

你的幫助是非常讚賞。

- 錯誤信息:

C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2,2): Error MSB4018: The "Aapt" task failed unexpectedly.

System.InvalidOperationException: Sequence contains no elements

at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)

at Xamarin.Android.Tasks.BuildToolsUtils.GetBuildToolsPath(String androidSdkDirectory)

at Xamarin.Android.Tasks.Aapt.GenerateFullPathToTool()

at Microsoft.Build.Utilities.ToolTask.ComputePathToTool()

at Microsoft.Build.Utilities.ToolTask.Execute()

at Xamarin.Android.Tasks.Aapt.Execute()

at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()

at Microsoft.Build.BackEnd.TaskBuilder.d__20.MoveNext() (MSB4018) (GPSWifi)

回答

0

此錯誤:The "Aapt" task failed unexpectedly.剛剛起步最近發生的 - 我認爲這是與最新的SDK的在Android /谷歌做的事 - 我認爲他們已經移動了文件位置。像Xamarin Studio 2 - latest stable update - Error executing task Aapt: The source sequence is empty

檢查其他問題,然後與Xamarin支持檢查 - 他們會發布更新的解決這個問題。

+0

謝謝。這個問題解決了。根據示例代碼,可以通過在仿真器中運行Gps Lat/Lon來獲取?當我運行這個示例代碼時沒有任何東西顯示出來。 – MilkBottle