Android не может восстановить мою текущую позицию (Appcelerator Titanium) - PullRequest
5 голосов
/ 18 января 2011

Я использую Titanium SDK 1.5.1 для iPhone и Android. У меня есть приложение, которое отлично загружает карту с моей текущей позиции на iPhone. Но для андроида ничего не показывает, кроме ошибки от Geolocation API.

Я добавил свой ключ API карты Android и другие свойства в файл tiapp.xml:

<property name="ti.android.debug" type="bool">false</property>
    <property name="ti.android.google.map.api.key.development">xxxxxxxxxxxxxxxxxxx</property>
    <android xmlns:android="http://schemas.android.com/apk/res/android">
            <uses-permission android:name="android.permission.INTERNET"/>
            <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
            <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
            <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
            <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
            <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
            <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
    </android>

Затем в моем js-файле я добавил две строки:

Titanium.Geolocation.accuracy = Titanium.Geolocation.ACCURACY_BEST;
Titanium.Geolocation.distanceFilter = 10;

А для звонка вот код:

Titanium.Geolocation.getCurrentPosition (функция (е) {

    if (e.error)
    {
        alert('Error while retrieving your position!');
        return;
    }
var longitude = e.coords.longitude;
var latitude = e.coords.latitude;
....

На моем устройстве приложение возвращает предупреждение, даже если я разрешаю Android получить доступ к моей позиции (в настройках Android).

Так в чем же проблема?

Спасибо заранее!

1 Ответ

2 голосов
/ 08 августа 2011

Цитирование @ Fa11enAngel J

Эта ошибка в Titanium 1.5.1.

Я видел запросы на поддержку по этой теме.

Попробуйте использовать ночные сборки: Непрерывные сборки Appcelerator

...