1 Reply Latest reply on Mar 28, 2016 4:18 PM by Jon Tara

    Geolocation API problem on IOS

    Carlos Junior

      Hi, i having a problem on first acess geolocation in IOS, when the access is Deny Location, 'callback_notification' show me alert then gps off,

      in second access application enter in loop and not show nothing.


      $gpsCount = 0
      GeoLocation.set_notification('/app/Location/callback_notification', "", 3)


      def callback_notification
        if $gpsCount < 5
          if @params['known_position'].to_i != 0 && @params['status'] == 'ok' 
              WebView.execute_js("getLocationGps(@params['latitude'], @params['longitude'])")
            WebView.execute_js("alert('GPS Off'));")
        $gpsCount += 1
        • Re: Geolocation API problem on IOS
          Jon Tara

          I'm uncertain what you mean by "first access" and "second access". Can you tell us the exact steps to reproduce? When/from where are the first two lines run?


          - I would reverse the order of the params check, though probably not the cause here.


          - You should also check the available parameter. It will be 0 if the hardware is not present, permission is not granted, etc. There is no point in trying 5 times in that case!


          - What does LocationGps() do?


          - I would avoid using Javascript alert() for debugging, since it stops all async operations in JS. Just use console.log and either view using Safari/Chrome remote inspection or else write a little JS replacement for console.log that forwards logging to the Rhodes log.


              if @params['status'] == 'ok' && @params['known_position'].to_i != 0