<!DOCTYPE html>
<html lang="en">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no, width=device-width">
		<meta name="generator" content="joDoc">

		<title>PhoneGap API Documentation</title>

		<link rel="stylesheet" type="text/css" href="index.css">
		<link rel="stylesheet" type="text/css" href="mobile.css" media="only screen and (max-device-width: 1024px)">
		<link rel="stylesheet" type="text/css" href="prettify/prettify.css" />

		<script type="text/javascript" src="prettify/prettify.js"></script>
		<script type="text/javascript">
			var _gaq = _gaq || [];
			_gaq.push(['_setAccount', 'UA-94271-11']);
			_gaq.push(['_setDomainName', '.phonegap.com']);
			_gaq.push(['_trackPageview']);

			(function() {
				var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
				ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
				var s = document.getElementsByTagName('script')[0];
				s.parentNode.insertBefore(ga, s);
			})();

			function moveToSection(dropdown) {
				document.location="#" + dropdown.options[dropdown.selectedIndex].value;
			}
		</script>
	</head>
	<body onload="prettyPrint();">

		<div id="header">
			<h1><a href="index.html">Phone<strong>Gap</strong> Documentation</a></h1>
		</div>
		<div id="subheader">
			<h1>Geolocation</h1>
			<small></small>
		</div>

		<div id="sidebar">
			<div class="vertical_divider"></div>
			<h1>API Reference</h1>
			<ul>
				<li><a href="phonegap_accelerometer_accelerometer.md.html">Accelerometer</a></li>
				<li><a href="phonegap_camera_camera.md.html">Camera</a></li>
				<li><a href="phonegap_media_capture_capture.md.html">Capture</a></li>
				<li><a href="phonegap_compass_compass.md.html">Compass</a></li>
				<li><a href="phonegap_connection_connection.md.html">Connection</a></li>
				<li><a href="phonegap_contacts_contacts.md.html">Contacts</a></li>
				<li><a href="phonegap_device_device.md.html">Device</a></li>
				<li><a href="phonegap_events_events.md.html">Events</a></li>
				<li><a href="phonegap_file_file.md.html">File</a></li>
				<li><a href="phonegap_geolocation_geolocation.md.html">Geolocation</a></li>
				<li><a href="phonegap_media_media.md.html">Media</a></li>
				<li><a href="phonegap_notification_notification.md.html">Notification</a></li>
				<li><a href="phonegap_storage_storage.md.html">Storage</a></li>
			</ul>
			<h1></h1>
			<ul>
				<li><a href="_index.html">Keyword Index</a></li>
			</ul>
		</div>

		<div id="scrollable">
    		<div id="content">
    			$body
    		</div>
		</div>

		<!-- KISSinsights -->
		<script type="text/javascript">var _kiq = _kiq || [];</script>
		<script type="text/javascript" src="//s3.amazonaws.com/ki.js/12652/2gs.js" async="true"></script>
	</body>
</html>