Ši android geografinės buvimo vietos nustatymo programa naudoja PhoneGap API telefono geografinės pozicijos nustatymui ir rodo telefono poziciją Google Maps žemėlapyje. JQuery Mobile naudojamas rodyti puslapį, antraštę, poraštę ir turinį žemėlapiui. Puslapio dydis ištempiamas per aukštį ir plotį bet kuriai telefono orientacijai ar lango dydžiui. Padaryta su Eclipse ir Android SDK. Ši programa taip pat veiks bet kokioje naršyklėje su Geolocation API.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, minimum-scale=1, maximum-scale=1"> <title>Map</title> <link rel="stylesheet" href="css/jquery.mobile-1.0b1.css" /> <script type="text/javascript" src="js/jquery-1.6.1.min.js"></script> <script type="text/javascript" src="js/jquery.mobile-1.0b1.min.js"></script> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript" src="js/phonegap.0.9.5.1.js"></script> <script type="text/javascript"> var map; $(document).ready(function(){ $(window).unbind(); $(window).bind('pageshow resize orientationchange', function(e){ max_height(); }); google.load("maps", "3.5", {"callback": map, other_params: "sensor=true&language=en"}); }); function max_height(){ var h = $('div[data-role="header"]').outerHeight(true); var f = $('div[data-role="footer"]').outerHeight(true); var w = $(window).height(); var c = $('div[data-role="content"]'); var c_h = c.height(); var c_oh = c.outerHeight(true); var c_new = w - h - f - c_oh + c_h; var total = h + f + c_oh; if(c_h<c.get(0).scrollHeight){ c.height(c.get(0).scrollHeight); }else{ c.height(c_new); } } function map(){ var latlng = new google.maps.LatLng(55.17, 23.76); var myOptions = { zoom: 6, center: latlng, streetViewControl: true, mapTypeId: google.maps.MapTypeId.ROADMAP }; map = new google.maps.Map(document.getElementById("map"), myOptions); navigator.geolocation.getCurrentPosition(geo_success, geo_error, { maximumAge: 3000, timeout: 5000, enableHighAccuracy: true }); } function geo_error(error) { alert('code: ' + error.code + '\n' + 'message: ' + error.message + '\n'); } function geo_success(position) { map.setCenter(new google.maps.LatLng(position.coords.latitude, position.coords.longitude)); map.setZoom(15); var info = ('Latitude: ' + position.coords.latitude + '<br>' + 'Longitude: ' + position.coords.longitude + '<br>' + 'Altitude: ' + position.coords.altitude + '<br>' + 'Accuracy: ' + position.coords.accuracy + '<br>' + 'Altitude Accuracy: ' + position.coords.altitudeAccuracy + '<br>' + 'Heading: ' + position.coords.heading + '<br>' + 'Speed: ' + position.coords.speed + '<br>' + 'Timestamp: ' + new Date(position.timestamp)); var point = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); var marker = new google.maps.Marker({ position: point, map: map }); var infowindow = new google.maps.InfoWindow({ content: info }); google.maps.event.addListener(marker, 'click', function() { infowindow.open(map,marker); }); }; </script> </head> <body> <div data-role="page" id="index" data-theme="b"> <div data-role="content" style="padding:0;"> <div id="map" style="width:100%;height:100%;"></div> </div> </div> </html>
Parsisiųsti Map android programos pirminius failus map.7z, projekto failai su jquery mobile versija 1.4.3 ir keliais puslapiais map3.7z.
Geo pozicija android emuliatoriui gali būti nustatyti per telnet. Atidarykite konsolę, prijunkite prie įrenginio ir nustatykite Geo poziciją. Prievado numeris matomas android emuliatoriaus programos pavadinime.
telnet localhost 5554 geo fix 25.28 54.68