Thanks for the tip. However, I rather do the GPS, since this is native app (hybrid app - Xcode and JS) and use
position.coords.latitude position.coords.longitude See the advantage here: http://www.thecssninja.com/javascript/geolocation-iphone Noli On 7/13/11, Nicholas Efremov-Kendall <n.e.kend...@gmail.com> wrote: > set : enablehighaccuracy to True, that actually access the GPS on the > devices. > > On Wed, Jul 13, 2011 at 1:02 AM, Noli Sicad <nsi...@gmail.com> wrote: > >> Hi, >> >> I would like to replace the Geolocate control functionality to reading >> from the GPS from mobile devices (e.g. iPhone and iPad 2). Geolocate >> html5 is so off from the actual real coordinate (lonLat) like 500 >> metres away. >> >> How are do I am going to do this in easiest and nicer way? >> >> I am able to get the my current location (i.e. lon and lat values) >> from the iPhone/ iPad GPS to HTML DOM (i.e. Textbox). >> >> e.g. >> >> jQTouch with Xcode, >> >> <ul class="edit rounded"> >> <li>Longitude: <input id='lng' type="text" value='' /></li> >> <li>Latitude: <input id='lat' type="text" value='' /></li> >> </ul> >> >> Now, the question is, would I be able to get icon from the local >> directory, not from http server? >> >> In this example below, it seems that OpenLayers.Icon is retrieved from >> http server. >> >> ~~~~~~ >> var icon = new OpenLayers.Icon(' >> http://www.openstreetmap.org/openlayers/img/marker.png',size,offset); >> layerMarkers.addMarker(new OpenLayers.Marker(lonLat,icon)); >> ~~~~~~ >> from, http://wiki.openstreetmap.org/wiki/Openlayers_Track_example >> >> If not, would vector maker good option for this? >> >> In this example, http://openlayers.org/dev/examples/geolocation.html >> >> How can I mapulated this function to cater to the lon and lat values >> from the GPS? >> >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> var geolocate = new OpenLayers.Control.Geolocate({ >> bind: false, >> geolocationOptions: { >> enableHighAccuracy: false, >> maximumAge: 0, >> timeout: 7000 >> } >> }); >> map.addControl(geolocate); >> var firstGeolocation = true; >> geolocate.events.register("locationupdated",geolocate,function(e) { >> vector.removeAllFeatures(); >> var circle = new OpenLayers.Feature.Vector( >> OpenLayers.Geometry.Polygon.createRegularPolygon( >> new OpenLayers.Geometry.Point(e.point.x, e.point.y), >> e.position.coords.accuracy/2, >> 40, >> 0 >> ), >> {}, >> style >> ); >> vector.addFeatures([ >> new OpenLayers.Feature.Vector( >> e.point, >> {}, >> { >> graphicName: 'cross', >> strokeColor: '#f00', >> strokeWidth: 2, >> fillOpacity: 0, >> pointRadius: 10 >> } >> ), >> circle >> ]); >> if (firstGeolocation) { >> map.zoomToExtent(vector.getDataExtent()); >> pulsate(circle); >> firstGeolocation = false; >> this.bind = true; >> } >> }); >> geolocate.events.register("locationfailed",this,function() { >> OpenLayers.Console.log('Location detection failed'); >> }); >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> >> Any ideas and implementation how to do this? >> >> Thanks. >> >> Regards, Noli >> _______________________________________________ >> Users mailing list >> us...@lists.osgeo.org >> http://lists.osgeo.org/mailman/listinfo/openlayers-users >> > _______________________________________________ Users mailing list us...@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/openlayers-users