Я использую родной плагин Ionic 2 Geolocation и работает не так, как ожидалось. Во-первых, я добавляю плагин.Собственная ионная 2 геолокация не работает на устройстве Android
ionic plugin add cordova-plugin-geolocation
Затем я импортирую плагин и выдаю вызов, чтобы получить текущую позицию.
import { Geolocation } from 'ionic-native';
import { Geoposition, GeolocationOptions } from 'ionic-native/dist/plugins/geolocation';
export class MyComponent {
protected getLocation():Promise<Geoposition> {
let options:GeolocationOptions = {
maximumAge: 0, timeout: 5000, enableHighAccuracy: false
};
return Geolocation.getCurrentPosition(options)
.catch(error => { console.error(error.message) };
}
}
Я также проверил свой AndroidManifest.xml.
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Я заметил, что таймаут всегда превышен. Если я оставлю его по умолчанию (таймаут устанавливается на бесконечность по умолчанию), то примерно через 20 минут я действительно получаю геопозицию. Конечно, 20 минут не идеальны.
Я также пробовал использовать navigator
следующим образом. Но я получаю точно такие же результаты.
navigator.geolocation.getCurrentPosition(
position => {
console.info('using navigator');
console.info(position.coords.latitude);
console.info(position.coords.longitude);
},
error => {
console.warn('using navigator');
console.warn(error.code);
console.warn(error.message);
},
options
);
При тестировании на Chrome
, код работает, как ожидалось; Единственное различие заключается в том, что я получаю всплывающее окно с вопросом, хочу ли я разрешить странице получать доступ к моему местоположению.
Я видел много людей имеют те же проблемы на SO с ионным тоже, но это с версией 1. Я хотел бы задать этот вопрос в контексте ионического 2.
Кстати, я ve также обновил Кордову, и версия появляется как 6.0.2.
npm update -g cordova
информация о версии
- Ионные 2.0.0-beta.30
- Кордова 6.0.2
- Глоток CLI 1.2.1 и местного 3.9.1
Столкнулся с той же проблемой. Вы нашли решение? – likerRr
найдено решение? –
нет, я не нашел решение. на днях я посмотрел на ионный 2, и есть новый плагин геолокации, я собираюсь попробовать это. Я отправлю ссылку позже и попытаюсь выяснить, помогает ли она кому-либо. –