2012-01-13 2 views
1

Я пытаюсь создать простое приложение, чтобы получить координаты пользователей на телефоне Android, используя VS 2010 и Mono для Android. Все образцы, похоже, находятся в java, который, поскольку я не разработчик Java, запутан. Если у кого-то есть пример кода с использованием только C# было бы очень признательно.Моно для Android Местоположение с использованием C# и VS 2010

+0

Этот ответ представляется релевантным: http://stackoverflow.com/a/4724618/635634 –

ответ

1

Вы можете создать слушателя, реализовав интерфейс ILocationListener. Это образец для деятельности, которая также выступает в качестве местоположения слушателя (хотя это может быть отдельный класс, если вы хотите слишком):

[Activity(Label = "Location Demo")] 
public class LocationActivity : Activity, ILocationListener 
{ 
    protected override void OnCreate(Bundle savedInstanceState) 
    { 
     base.OnCreate(savedInstanceState); 

     SetContentView(Resource.Layout.Main); 

     var locationManager = (LocationManager)GetSystemService(LocationService); 

     var criteria = new Criteria { Accuracy = Accuracy.NoRequirement }; 
     string bestProvider = locationManager.GetBestProvider(criteria, true); 

     locationManager.RequestLocationUpdates(bestProvider, 5000, 2, this); 
    } 

    public void OnLocationChanged(Location location) 
    { 
    } 

    public void OnProviderDisabled(string provider) 
    { 
    } 

    public void OnProviderEnabled(string provider) 
    { 
    } 

    public void OnStatusChanged(string provider, Availability status, Bundle extras) 
    { 
    } 
} 

У меня есть подобный образец до here, который читает в координатах и ​​печатает их на экран.

+1

Отлично. Я нашел вашу страницу ранее и все работает, или должен работать, если у меня есть телефон, чтобы проверить его. Поскольку я использую эмулятор, мне нужно установить поставщика тестового местоположения (возможно, некоторые другие вещи тоже), и я не могу полностью опустить эту часть. Тем не менее вы прекрасно ответили на вопрос. Спасибо. – cymorg

+0

Вы также можете имитировать данные местоположения в эмуляторе, используя инструмент DDMS, который поставляется с Android SDK или подключается к эмулятору с помощью Telnet и использует команду «geo». Больше информации здесь: http://developer.android.com/guide/topics/location/obtaining-user-location.html#MockData –

+0

Ah ha, DDMS, еще один случай RTFM - Еще раз спасибо Грег. – cymorg