/* * Copyright 2010 Daniel Kurka * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.googlecode.gwtphonegap.client.geolocation; import com.googlecode.gwtphonegap.client.geolocation.js.GeolocationMobileImpl; /** * Add phonegap/Cordova geolocation plugin to the phonegap/Cordova project, * when using the Geolocation related features. * @author Daniel Kurka */ public interface Geolocation { /** * calculates the device's current position as a PositionJsImpl object. * * Function geolocation.getCurrentPosition is an asynchronous function. It * returns the device's current position to the geolocationSuccess callback * with a PositionJsImpl object as the parameter. If there is an error, the * geolocationError callback is invoked with a PositionError object. * * <h1>Supported Platforms</h1> * * <ul> * <li>Android</li> * <li>BlackBerry</li> * <li>BlackBerry Widgets (OS 5.0 and higher)</li> * <li>iPhone</li> * </ul> * * @param callback * @param options */ public void getCurrentPosition(GeolocationCallback callback, GeolocationOptions options); /** * * @param callback */ public void getCurrentPosition(GeolocationCallback callback); /** * Watches for changes to the device's current position. * * Function geolocation.watchPosition is an asynchronous function. It * returns the device's current position when a change in position has been * detected. When the device has retrieved a new location, the * geolocationSuccess callback is invoked with a PositionJsImpl object as * the parameter. If there is an error, the geolocationError callback is * invoked with a PositionError object. * * <ul> * <li>Android</li> * <li>BlackBerry (OS 4.6)</li> * <li>BlackBerry Widgets (OS 5.0 and higher)</li> * <li>iPhone</li> * </ul> * * @param options * @param callback * @return a {@link GeolocationWatcher} that references the watch position * interval. The {@link GeolocationWatcher} can be used with * {@link GeolocationMobileImpl#clearWatch(GeolocationWatcher)} to * stop watching for changes in position. */ public GeolocationWatcher watchPosition(GeolocationOptions options, GeolocationCallback callback); /** * top watching for changes to the device's location referenced by the * {@link GeolocationWatcher} parameter. * * <ul> * <li>Android</li> * <li>BlackBerry (OS 4.6)</li> * <li>BlackBerry Widgets (OS 5.0 and higher)</li> * <li>iPhone</li> * </ul> * * @param watcher */ public void clearWatch(GeolocationWatcher watcher); }