TypeError: Failed to execute 'watchPosition' on 'Geolocation': The callback provided as parameter 2 is not a function.
Вы правы, параметры неверны:
id = navigator.geolocation.watchPosition(success, error, options)
Так одна вещь, которую вы могли бы попробовать это делать это:
let geoWatch = Geolocation.watchPosition(options, subscribeToPosition, showError);
// Success callback
private subscribeToPosition(positionObj): void {
this.data = positionObj;
console.log(positionObj);
}
// Error callback
private showError(errorObj): void {
// Handle the error.
console.log(errorObj);
}
======== ==============================
EDIT:
Я, хотя мы брали около navigator.Geolocation
API, но в этом (удивительном) сообщении Джош использует плагин Geolocation cordova через Ionic Native
(извините, мой плохой).
Как я могу видеть in the documentation:
This API is based on the W3C Geolocation API Specification, and only executes on devices that don't already provide an implementation.
Так что я думаю, что вы должны проверить, если вы находитесь в веб-приложение (по делать this.platform.is('core')
), и если вы, то вам нужно добавить предыдущий sintax (с обратными вызовами). Но если это false
, то вы знаете, что ваше приложение выполняется на мобильном устройстве, и вы можете использовать sintax ionic-native
, как в вашем коде. Я боюсь, вам нужно будет проверить это на реальном устройстве, чтобы быть уверенным.
верно, но я хочу сохранить синтаксис машинопись Я в настоящее время использую. Я наткнулся на кучу примеров, которые используют тот же код, что и я, но у кого, похоже, нет такой же ошибки – vrijdrogenaam
Но вызов метода путем передачи обратных вызовов (которые определены в машинописном файле sintax) также является машинописным. Не могли бы вы добавить ссылку на эти образцы кода, чтобы мы могли взглянуть на них? Должно быть, чего-то нам не хватает ... – sebaferreras
вот вам! http://www.joshmorony.com/adding-background-geolocation-to-an-ionic-2-application/ – vrijdrogenaam