2016-01-13 1 views
2

Моя проблема проста. Мне нужен способ включить и выключить GPS, используя кнопку в приложении Ionic. Я проверил документы и прочитал этот плагин ng-cordova http://ngcordova.com/docs/plugins/geolocation/, но у них нет этой функции. Я просто что-то пропустил или это возможно даже в Ionic Framework? Благодаря!Как программно включить и отключить GPS в Ionic Framework или Cordova

+3

Невозможно включить GPS из своего приложения. Пользователь должен перейти к настройкам устройства. – Joerg

+0

Привет @Joerg! Спасибо за ваш быстрый ответ. Надеюсь, вы не против, но есть ли у вас какие-то вспомогательные документы или ссылки, которые укрепили бы ваш ответ? Дело не в том, что я сомневаюсь в вашем ответе (честно говоря, так оно и есть), но было бы здорово, не так ли? А также мне нужно что-то показать клиенту и ради документации, а также =). Благодаря! – balfonso

+0

Эй @balfonso В Google есть программное обеспечение, позволяющее определять местоположение устройства с помощью клиента местоположения. Но это работает для Android. Возможно, если вы знаете, как писать собственный плагин, вы можете использовать его. В настоящее время в моем приложении я разрешаю местоположение устройства с помощью Native JSI-интерфейса, но это не лучшее решение, на мой взгляд.В этом случае вы должны выполнить всю операцию включения и выбора координаты местоположения с помощью своей функции и не сможете использовать плагин геолокации. –

ответ

1

Насколько я знаю, нет возможности напрямую отключать GPS от вашего приложения.

Если вы пытаетесь разрешить пользователю отключать GPS, я достиг этого, добавив параметр localStorage, который пользователь может изменить на странице настроек в моем приложении. Каждый раз, когда я проверяю GPS на моей фабрике местоположений, я проверяю установку и запускаю обратный вызов ошибки, если параметр был отключен.

Может быть какой-то вызов, который может автоматически открыть страницу настроек местоположения на вашем устройстве, как я видел, другие приложения делают это, но я не уверен, что это поддерживается в Cordova/Ionic.

+0

Привет @ SM3RKY! Из того, что я понимаю по вашему ответу, у вас есть GPS (вкл/выкл) на странице настроек вашего приложения. Эти настройки не зависят от настроек GPS устройства. Короче говоря, настройки GPS вашего приложения работают только в том случае, если настройки GPS устройства уже включены, но вы не сможете включить настройки GPS устройства. Это похоже на использование вашего приложения для использования или отсутствия GPS, даже если оно включено. Я прав? – balfonso

+0

Да, это правильно, это то, что вы ищете, или вы пытаетесь включить настройку GPS-устройства устройства из приложения, отключено, так как я не уверен, можете ли вы сделать последнее – SM3RKY

+0

Первоначально я хотел прямое включение/выключение для GPS внутри приложения. Но после того, как @Joerg прокомментировал, я понял, что мне нужно сделать еще несколько исследований, и я, наконец, пришел к выводу, что последний (чтобы открыть страницу настроек) был бы лучшим вариантом. Я еще не применял это, хотя в своем приложении еще нет. В то же время я перешел к другим задачам, но, безусловно, применим их позже. На данный момент я чувствую, что для этого уже может быть плагин, но он не сделал никаких поисков, если на самом деле у Ionic и Cordova есть это. Спасибо за помощь. Ответ: D – balfonso

0

После исследования я понял, что включение/выключение местоположения внутри приложения невозможно с помощью Ionic (по крайней мере, пока нет), поэтому лучшим выбором является открытие настроек местоположения устройства, поскольку вы можете изменить не только статус вашего GPS, вы также можете изменить мощность и точность.

Вы можете сделать это с помощью cordova-diagnostic-plugin, плагина (с хорошей документацией), чтобы управлять настройками устройства, такими как Wi-Fi, Bluetooth, GPS.

Надеюсь, это поможет!

1

Я хочу открыть GPS автоматически в соответствии с моими требованиями.
Так что я использовал Cordova-Plugin-запроса местоположения точность
Когда GPS выключен, он предложит пользователю открыть GPS..It очень полезно для меня ..
Ionic1
https://github.com/dpa99c/cordova-plugin-request-location-accuracy

Ionic2
https://ionicframework.com/docs/native/location-accuracy/
с наилучшими пожеланиями ....

1

тестировал этот плагин Location Accuracy на ионический 3 , местоположение разрешено без перехода на страницу настроек, на которую можно ответить программным образом. Это пример кода, который я использовал после перехода на модальную страницу, проверив, разрешено ли местоположение с помощью Diagnostic plugin.

местоположения auth.ts

import { Component } from '@angular/core'; 
import { IonicPage, 
     ViewController } from 'ionic-angular'; 
import { LocationAccuracy } from '@ionic-native/location-accuracy'; 

@IonicPage({ 
    name: 'location-auth' 
}) 
@Component({ 
    selector: 'page-location-auth', 
    templateUrl: 'location-auth.html', 
}) 
export class LocationAuthPage { 
    constructor(private locationAccuracy: LocationAccuracy, 
       public viewCtrl: ViewController) {} 

    requestAccuracy() { 
    this.locationAccuracy.canRequest().then((canRequest: boolean) => { 
     if(canRequest) { 
     this.locationAccuracy.request(this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(() => { 
      console.log('Request successful.') 
      this.closeModal(); 
      }, 
      error => { 
      console.log('Error requesting location permissions', error) 
      this.closeModal(); 
      } 
     ); 
     } 
    }); 
    } 

    closeModal() { 
    this.viewCtrl.dismiss(); 
    } 
} 

местоположения auth.html

<ion-header> 
    <ion-navbar color="primary"> 
    <ion-title>GPS Authorization</ion-title> 
    </ion-navbar> 
</ion-header> 


<ion-content padding> 
    <p>Your Location is not enabled yet, please turn on your gps location.</p> 
    <button large 
      ion-button 
      block 
      (click)="requestAccuracy()">Turn on your GPS</button> 
</ion-content> 

До сих пор я тестирование на Android телефон. Дайте мне знать, работает ли iOS так, как есть.

Смежные вопросы