Open GoogleCodeExporter opened 9 years ago
Question: In the Browser Options/General Properties is there "Enable JavaScript
Location support" turned on?
Original comment by whoiss...@gmail.com
on 9 Dec 2009 at 6:24
Yes these settings are enabled on the Storm 2. I coded a simple page for the
Storm 2
& this works:
<html>
<head>
<meta name = "viewport" content = "initial-scale = 1.0">
<meta content="text/html; charset=utf-8" http-equiv="content-type"/>
</head>
<script type="text/javascript">
var gps = blackberry.location.GPSSupported;
// set to Assisted mode
blackberry.location.setAidMode(1);
blackberry.location.refreshLocation();
alert("Lat/Lng: " + blackberry.location.latitude + " " +
blackberry.location.longitude);
</script>
</html>
Original comment by darrenf...@gmail.com
on 9 Dec 2009 at 7:01
I took the quotes off the function call on line 70 in the geo.js file and that
seems
to have done the trick:
line 70 replace
blackberry.location.onLocationUpdate("handleBlackBerryLocation()");
with
blackberry.location.onLocationUpdate(handleBlackBerryLocation());
Kevin Dubois
Original comment by kevin.du...@gmail.com
on 10 Dec 2009 at 12:44
according to
http://www.tonybunce.com/2008/05/08/Blackberry-Browser-Amp-GPS.aspx
the callback should be passed as a string rather then a method call. do you have
older bb devices to confirm that this is not correct.
otherwise we can make it conditional, if a certain user agent is given don't use
string but the function. a bit messy but we might have to go that route. what
do you
think?
Original comment by whoiss...@gmail.com
on 11 Dec 2009 at 2:20
Original comment by whoiss...@gmail.com
on 11 Dec 2009 at 3:01
I made this change & tried it on 4.5 & 4.7. No go. I do not get the Java
pop-up.
blackberry.location.onLocationUpdate("handleBlackBerryLocation()");
with
blackberry.location.onLocationUpdate(handleBlackBerryLocation());
-Darren
Original comment by darrenf...@gmail.com
on 11 Dec 2009 at 2:36
According to the blackberry documentation:
"Method: blackberry.location.onLocationUpdate()
The onLocationUpdate() method registers a listener that evaluates a string or
calls a
function whenever the BlackBerry® device receives updated location information.
On BlackBerry devices running versions of BlackBerry® Device Software earlier
than
version 4.6, this method must be passed as a string that is evaluated each time
the
location is refreshed. On BlackBerry devices running BlackBerry Device Software
version 4.6 or later, you can pass a string, or use the method to register a
callback
function."
So I added a condition the lib, that either uses a string or the method name.
Could
you verify that for me?
Sample is here:
http://www.merkwelt.com/people/stan/geo_js/sample.html
I think this will do;)
Original comment by whoiss...@gmail.com
on 17 Dec 2009 at 8:39
I'm having the same problem with a storm version 1 verizon v 5.0.0.328
http://www.merkwelt.com/people/stan/geo_js/sample.html <= I get error=null in
the alert box
http://www.saefern.org/tickets/test_bb_gps.php <= this link will map it
correctly
I think that the difference is that on the geo.js google gears is activated
first
if I change line 58
if (typeof(window.google) != "undefined") to
if (typeof(window.google) != "undefined" && typeof(window.blackberry) ==
"undefined")
it works fine... I'm not sure if thats how you want to handle this exception.
you can check it out here
http://stephenquick.com/geo/
Original comment by stephen....@gmail.com
on 31 Dec 2009 at 6:51
hey, i think they bberry issues were two different ones. i changed the sample
on my
site to do blackberry before google gears:
http://www.merkwelt.com/people/stan/
does that work now for you? i only have a bberry 8900 and don't have any
problems
running the samples at all.
please let me know,
stan
Original comment by whoiss...@gmail.com
on 2 Jan 2010 at 11:02
The new version you linked to works correctly on my storm version 1 verizon v
5.0.0.328
Original comment by stephen....@gmail.com
on 4 Jan 2010 at 4:12
very good thanks, i will post it on a blackberry web developer newsgroup have
them
take a look at it as well.
Original comment by whoiss...@gmail.com
on 4 Jan 2010 at 8:02
There appears to be one error I've encountered, specifically regarding:
===
if(parseFloat(navigator.appVersion)>=4.6)
{
blackberry.location.onLocationUpdate(handleBlackBerryLocation());
}
===
What this actually does is immediately call handleBlackBerryLocation(), and
therefore ends all processing of the script. I found this because of a timing
issue, frequently I'd get lon=0,lat=0.
Instead, the call should simply be function name only, no following parentheses.
===
if(parseFloat(navigator.appVersion)>=4.6)
{
blackberry.location.onLocationUpdate(handleBlackBerryLocation);
}
===
This change also agrees with this in that it says processing will end upon
enounter
of handleBlackBerryLocation():
http://www.tonybunce.com/2008/05/08/Blackberry-Browser-Amp-GPS.aspx
Thanks for a great script!!!
Original comment by cont...@lifeoutsystems.com
on 29 Jan 2010 at 2:16
One more change I noticed. The call to:
blackberry.location.removeLocationUpdate();
Is incorrect. It should include the callback name in it as well:
blackberry.location.removeLocationUpdate(handleBlackBerryLocation);
This is in accordance with the documentation:
http://docs.blackberry.com/en/developers/deliverables/11849/blackberry_location_
remov
eLocationUpdate_568409_11.jsp
Again, thanks much!!!
Original comment by cont...@lifeoutsystems.com
on 29 Jan 2010 at 2:34
First of all thanks very much for your debugging and problem solving. I have a
Blackberry Bold and somehow managed to seriously mess up my device recently, so
I
can't confirm my recent changes.
So I changed the callback definition, removed brackets:
if(parseFloat(navigator.appVersion)>=4.6)
{ blackberry.location.onLocationUpdate(handleBlackBerryLocation);
}
And the callback removal by adding the method:
blackberry.location.removeLocationUpdate(handleBlackBerryLocation);
Could you confirm that my sample is working before I make a new release?
http://www.merkwelt.com/people/stan/geo_js/sample.html
Thanks very much!
Original comment by whoiss...@gmail.com
on 3 Feb 2010 at 2:16
Yes, the sample works perfectly on my BB Tour (4.7).
Thanks for your help!
Original comment by cont...@lifeoutsystems.com
on 3 Feb 2010 at 5:52
great!
Original comment by whoiss...@gmail.com
on 3 Feb 2010 at 5:57
The sample did not work on a Blackberry storm 9520. I get asked by gears to
allow
access and then get an error = null notice.
Original comment by Kim.Gri...@gmail.com
on 26 Apr 2010 at 1:57
I think I know what it is, but I currently don't have such a device anymore.
Can I work with you to resolve that? I
would prepare a couple of versions to investigate the problem. Let me know!
Original comment by whoiss...@gmail.com
on 27 Apr 2010 at 1:25
I have a Storm 2 and am also getting "error = null".
Please let me know if I can test something.
Original comment by goldman....@gmail.com
on 3 Jun 2010 at 9:33
yes you can help.
when you go here:
http://www.merkwelt.com/people/stan/geo_js/sample.html
Is it a google gears dialog you are seeing? I need to know if its using google
gears or blackberry browser
technology.
Thank you!
Original comment by whoiss...@gmail.com
on 3 Jun 2010 at 9:46
http://www.merkwelt.com/people/stan/geo_js/sample.html
on a 9550 getting a null error
Original comment by jdgern...@gmail.com
on 5 Jun 2010 at 4:20
sorry should have said...shows gears allow first then returns null popup.
http://www.merkwelt.com/people/stan/geo_js/sample.html
phone is 9550 on verizon network
Interestingly, a 9530 verizon simulator works fine and returns the correct lat
and long.
Original comment by jdgern...@gmail.com
on 5 Jun 2010 at 4:22
hey,
so i just heard the same thing from a different user on a 9550. maybe gears is
just not working on the 9550. so you are saying you getting a null popup, does
that mean that you see "error=null"? or just "null", because if its just null i
would have idea what should trigger that. since the error handler for the page
is:
function error_callback(p)
{
alert('error='+p.message);
}
i changed that to
function error_callback(p)
{
alert('error='+p.code);
}
since the error object could be potentially empty, the error code should always
be there, i am just afraid that it won't help much. can you tell me if you at
least an error code?
thank you,
stan
Original comment by whoiss...@gmail.com
on 9 Jun 2010 at 12:15
Hey, I've been testing the geo-location javascript on several phones with mixed
result. Android, Palm and iPhone work great. Blackberry is very
disappointing. We tried on several Blackberry models and none of them worked.
Stan, we also went to your site with the same results as mentioned above. Here
are the models we tested:
Storm 9700 OS 5.0.0.602 - No error, no lat/long... nothing. Like it dies with
a javascript error or something
Bold 9000 OS 4.6.0.304 - Error code = 2. No lat/long.
We're updating to OS 5 on our Bold and will post you the results after that.
To me, this is a high priority defect since it doesn't seem to work on any of
the newer blackberries. Blackberry is our highest user base for the project
I'm working on.
Thanks.
Cary
Original comment by marrgr...@gmail.com
on 30 Aug 2010 at 2:47
hey there,
i just tested
http://www.merkwelt.com/people/stan/geo_js/sample.html
on my blackberry 8900, OS 4.6 and it worked perfectly.
can you tell from pop that requests the permission to get the location if its
google gears or not.
stan
Original comment by whoiss...@gmail.com
on 30 Aug 2010 at 3:01
Yes, both are using google gears.
We updated the Bold 9000 to OS 5.0.0.822 and it now works. Is there a solution
to the gears issue? I doubt we're going to get all of our users to update
their OS.
Cary
Original comment by marrgr...@gmail.com
on 30 Aug 2010 at 7:01
google gears is a problem on blackberry. It quite often does simply not return
anything usable which is a shame. What I recommend in your case to remove the
google gears handling altogether from the library until there is a solution. It
will then fallback to the basic blackberry location which works on pretty much
all of the bb out there.
Simply remove:
else if(typeof(window.google)!="undefined" && typeof(google.gears)!="undefined")
{
provider=google.gears.factory.create('beta.geolocation');
}
from geo.js. Maybe since that is beneficial for you are willing to look more
into issue with blackberry and google gears. I am open to any help in that
area.
Original comment by whoiss...@gmail.com
on 7 Sep 2010 at 3:49
Can we move the following lines the last i.e after blackberry?
else if(typeof(window.google)!="undefined" && typeof(google.gears)!="undefined")
{
provider=google.gears.factory.create('beta.geolocation');
}
Will it solve the problem?
Original comment by rajnish....@gmail.com
on 9 Sep 2010 at 3:34
Or can we use the following -
else if(typeof(window.google)!="undefined" && typeof(google.gears)!="undefined"
&&
navigator.userAgent.indexOf("BlackBerry")<=0)
{
provider=google.gears.factory.create('beta.geolocation');
}
Original comment by rajnish....@gmail.com
on 9 Sep 2010 at 5:38
both solutions work. i prefer to simply move the gears detection below the
blackberry detection.
@marrgroup: can you give that a try? attached a file that reflects the change.
Original comment by whoiss...@gmail.com
on 9 Sep 2010 at 7:26
Attachments:
Stan,
Thanks, that did indeed fix our issue. I tested on all the current models that
we were having issues with as well as the models that worked.
I agree that it would be better to move the gears below blackberry detection.
This change would probably solve the original poster's issue as well since we
were having issues on both the storm and the bold.
Cary
Original comment by marrgr...@gmail.com
on 10 Sep 2010 at 6:34
I have a BB App Version: 6.0.0.415 (1659). I believe it is a Curve. The
latitude and longitude is always returned as 0, 0 with this device. I've tried
using the geo.js attached on Sep 9, 2010. I've also tried this link:
http://www.merkwelt.com/people/stan/geo_js/sample.html
Can anyone offer any suggestions? Thanks.
Original comment by robwolfb...@gmail.com
on 17 Dec 2011 at 2:31
The code below is the only example that I've found to actually detect my
location on my blackberry. Since this code works, it looks like the
'geo-location-javascript' has a bug.
<html>
<body>
<script language="Javascript">
function getLocation() {
window.alert("Your new position is " + blackberry.location.latitude + " degrees latitude and " + blackberry.location.longitude + " degrees longitude.");
blackberry.location.removeLocationUpdate(removeLocation);
}
function removeLocation() {
// dummy function since removeLocationUpdate requires a callback
alert("location handler removed");
}
if(blackberry.location.GPSSupported) {
blackberry.location.setAidMode(1);
blackberry.location.refreshLocation();
blackberry.location.onLocationUpdate(getLocation);
} else {
alert('nope');
}
</script>
<p>detecting location....</p>
</body>
</html>
Can anyone help? This is a major issue for me. Location detection works fine
on every device that I've tested accept for blackberry. (note:
'alert("location handler removed")' never fires so there does appear to be a
bug associated with removing the handler.)
Original comment by robwolfb...@gmail.com
on 18 Dec 2011 at 2:07
Interesting. I do not own a BB anymore myself. Would you care to join the
project and update the file? I actually thought the with OS6 you can go through
regular W3C compliant geo location and not use BB's own. Can you find out if it
goes into this condition on your device:
92:else if (typeof(navigator.geolocation)!=u)
thanks!
Original comment by whoiss...@gmail.com
on 19 Dec 2011 at 3:18
Original issue reported on code.google.com by
darrenf...@gmail.com
on 8 Dec 2009 at 10:57