Android Geolocation не может получить ошибку вашего местоположения в симуляторе - PullRequest
4 голосов
/ 27 сентября 2011

Я попробовал следующий код для определения местоположения пользователя в титановом андроиде

application.Ti.App.GeoApp = {};
Ti.Geolocation.preferredProvider = Titanium.Geolocation.PROVIDER_GPS;
Ti.Geolocation.purpose = "testing";
Titanium.Geolocation.accuracy = Titanium.Geolocation.ACCURACY_BEST;
Titanium.Geolocation.distanceFilter = 10;
if( Titanium.Geolocation.locationServicesEnabled === false ) {
    Ti.API.debug('Your device has GPS turned off. Please turn it on.');
}
function updatePosition(e) {
    if( ! e.success || e.error ) {
    alert("Unable to get your location.");
    Ti.API.debug(JSON.stringify(e));
    Ti.API.debug(e);
    return;
    }
    Ti.App.fireEvent("app:got.location", {
    "coords" : e.coords
    });
};

Ti.App.addEventListener("app:got.location", function(d) {
    Ti.App.GeoApp.f_lng = d.longitude;
    Ti.App.GeoApp.f_lat = d.latitude;
    Ti.API.debug(JSON.stringify(d));
    Ti.Geolocation.removeEventListener('location', updatePosition);

    alert(JSON.stringify(d));
});
Titanium.Geolocation.getCurrentPosition( updatePosition );    
Titanium.Geolocation.addEventListener( 'location', updatePosition );

после запуска этого кода выдает предупреждение * Невозможно получить ваше местоположение. * в симуляторе Android Чтовещь, которую мне не хватает?заранее спасибо

1 Ответ

2 голосов
/ 27 сентября 2011

Вы должны подключиться с помощью telnet к вашему эмулятору и «установить местоположение».Каждый раз, когда вы устанавливаете местоположение, вы получаете событие.

`telnet localhost 5554 (учтите, что иногда порт отличается - вы можете увидеть его в строке заголовка окна).

Попытка 127.0.0.1 ...

Соединено с localhost.

Символ выхода - '^]'.

Консоль Android: введите 'help' для получения списка команд

ОК

геофикс 15.4548 12.4548 (параметры долгота, широта в градусах)

ОК

выход `

Наслаждение

...