Created
September 9, 2013 15:02
-
-
Save iantearle/6496824 to your computer and use it in GitHub Desktop.
BasicGeo where its not starting location services on iOS7 with v0.86
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var geo = require('bencoding.basicgeo'); | |
Alloy.Globals.geoCurrent = geo.createCurrentGeolocation(); | |
Alloy.Globals.geoCoder = geo.createGeocoder(); | |
Alloy.Globals.helpers = geo.createHelpers(); | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function CurrentPositionCallback(e) { | |
if(!alreadyCalled) { | |
$.loading.show('Finding...', true); | |
if(e === null) { | |
var a = Titanium.UI.createAlertDialog({title:'Heritage'}); | |
a.setMessage(L('location_error')); | |
} | |
if(e.success) { | |
var position = {}; | |
position.latitude = e.coords.latitude; | |
position.longitude = e.coords.longitude; | |
Ti.App.Properties.setObject('position', position); | |
Ti.API.info(propertiesFetchLocation(e.coords.latitude, e.coords.longitude)); | |
$.loading.hide(); | |
$.searchField.value = ''; | |
} | |
var test = JSON.stringify(e); | |
Ti.API.info("Current Results stringified" + test); | |
alreadyCalled = true; | |
} | |
} | |
function forwardGeoCallback(e) { | |
$.loading.show('Finding...', true); | |
if(e.success) { | |
var test = JSON.stringify(e); | |
Ti.API.info("Forward Results stringified" + test); | |
Ti.API.info(propertiesFetchLocation(e.places[0].latitude, e.places[0].longitude)); | |
$.loading.hide(); | |
Ti.API.info("Places found = " + e.placeCount); | |
for (var iLoop=0;iLoop<e.placeCount;iLoop++){ | |
Ti.API.info("Showing Place At Index " + iLoop); | |
Ti.API.info(e.places[iLoop]); | |
} | |
$.searchField.value = ''; | |
} | |
} | |
/* Start DB Collection */ | |
function propertiesFetchLocation(latitude, longitude) { | |
properties.fetch({ | |
query: 'SELECT * FROM properties WHERE distance(latitude, longitude, '+ latitude +', '+ longitude +') < 20 ORDER BY distance(latitude, longitude, '+ latitude +', '+ longitude +') ASC LIMIT 50' | |
}); | |
return properties.length; | |
} | |
function propertiesFetchTitle(title) { | |
var position = Ti.App.Properties.getObject('position'); | |
properties.fetch({ | |
query: 'SELECT * FROM properties WHERE REPLACE(UPPER(title), "/[\.,-\/#!$%\^&\*;:{}=\-_`~()]/g", "") LIKE "%' + title.replace(/[\.,-\/#!$%\^&\*;:{}=\-_`~()]/g, "") + '%" ORDER BY distance(latitude, longitude, '+ position.latitude +', '+ position.longitude +') ASC' | |
}); | |
return properties.length; | |
} | |
/* Get our current location */ | |
function resultsCallback(e){ | |
Ti.API.info("Did it work? " + e.success); | |
if(e.success){ | |
Ti.API.info("It worked"); | |
} | |
var test = JSON.stringify(e); | |
Ti.API.info("Results stringified " + test + ' ' + e.places[0].countryCode); | |
}; | |
Alloy.Globals.geoCurrent.getCurrentPlace(resultsCallback); | |
Alloy.Globals.geoCurrent.getCurrentPosition(CurrentPositionCallback); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Alloy.createController('home').getView().open(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment