Я использую Titanium SDK 1.5.1 для разработки iPhone и Android. У меня есть приложение, которое загружает карту с моим текущим положением на iPhone. Но, для android, ничего не показывает, а является ошибкой API геолокации.Android не может получить текущую позицию (Appcelerator Titanium)
Я добавил свой Android Map ключ API и другие свойства в файле 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).
В чем проблема?
Спасибо заранее!
Это одна кажется ошибка в Titanium 1.5.1. Я видел запросы поддержки по этой теме. Попробуйте использовать ночные сборки: http://builds.appcelerator.com.s3.amazonaws.com/index.html – Fa11enAngel
Вы правы. Я использовал то, что ночная версия 1.6.0 и запускала приложение на своем устройстве: отлично работала. Не возражаете, если вы разместите свой комментарий в качестве ответа, чтобы я мог отметить его как лучший ответ? – Zakaria