Hello I am trying to figure out a problem I am having in a mobile site I am
developing
Given that I can find my location on a Google Map using jquery I want to
pass those (lat and long) values as well as how much range to search to my
query I am confused how to pass the values and do the query
(I want to create a search function based on your current position to
within a given range)
here is my form code as well as my query I attempted
<h3>Search By Distance</h3>
<div id="MapContainer">
<img id="locationImage" style='width:
240px'/><br/>Accuracy: <span id="locationAccuracy">N/A</span>
<a id="getLocation" data-role="button" href="#">Access My
Location</a>
</div>
<div data-role="fieldcontain">
<label for="distance">Distance</label>
<input type="range" min="5" max="250" step="5" value="25"
name="distance" id="distance" />
<input type="hidden" name="getLocation" id="getLocation">
</div>
<a data-role="button" data-icon="minus" data-inline="true"
data-rel="back" href="#" data-theme="b">Cancel</a>
<a data-transition="fade" id="distance_submit" data-role="button"
data-icon="check" data-inline="true" href="#" class="ui-disabled">Submit</a>
<script type="text/javascript">
var setLocation = function(position) {
$.post(
"{{=URL('views', 'location')}}",
{
data : {
latitude : position.coords.latitude,
longitude : position.coords.longitude,
accuracy : position.coords.accuracy
}
},
function() {
$("#getLocation").fadeTo('fast', 1);
$("#getLocation .ui-btn-text").html("Update My
Location");
$("#distance_submit").removeClass('ui-disabled');
var accuracyText = position.coords.accuracy + 'm';
var accuracyZoom = 14;
if (position.coords.accuracy >= 1000) {
accuracyText =
Math.round(position.coords.accuracy/1000) + 'km';
accuracyZoom = 12;
}
$("#locationImage").attr(
'src',
'http://maps.googleapis.com/maps/api/staticmap?sensor=true&size=240x200&scale=2&zoom='
+ accuracyZoom + '&markers=' + position.coords.latitude + ',' +
position.coords.longitude
);
$('#locationAccuracy').html(accuracyText);
$('#MapContainer').fadeTo('fast', 1);
}
);
};
var locationError = function(error) {
$("#visitorLocationMapContainer").html("There was an error
accessing your location");
$("#getLocation").fadeTo('fast', 1);
};
$('#getLocation').click(function() {
$(this).fadeTo('fast', 0.5);
$("#visitorLocationMapContainer").fadeTo('fast', 0.5);
navigator.geolocation.getCurrentPosition(setLocation,
locationError, {timeout: 60000});
});
$("#distance_submit").click(function() {
var val = $("#distance").val();
if (!val) {
return;
}
$.mobile.changePage("{{=URL('views', 'location')}}" + val);
});
</script>
######PYTHON#####
def location():
mystr = request.post_vars["distance"]
distance = db(db.listing.latitude == mystr).select(db.listing.ALL)
return dict(distance=distance)
Sorry for the beginner question :-P
*cheers and ty :D
--