Getting GPS locations and other attributes - BEGINNER - iphone

I am currently doing this tutorial to get the GPS coordinates of my present location. I need to know what these values means?
The first 2 values are the geo-coordinates, and i don't know what the other attributes are ?

From Apple's iOS Developer Library what you are seeing as a result of the description selector being sent to your CLLocation object (which represents your current location and other location-related info):
A string of the form <<latitude>, <longitude>> +/- <accuracy>m (speed
<speed> kph / heading <heading>) # <date-time>, where <latitude>,
<longitude>, <accuracy>, <speed>, and <heading> are formatted floating
point numbers and <date-time> is a formatted date string that includes
date, time, and time zone information.
What you probably want to do now is extract info from your CLLocation object by accessing its various properties (e.g. CLLocation.altitude will return the altitude only). Generally, aside from debugging purposes to the console, you would not want to print or display to the user the result of [CLLocation description] which is what you have there!

Related

Annotation "blinks" when updated frequently

I receive a steam of GPS locations representing a vehicle, and I want to show it as an annotation on the map. Showing the annotation is fine.
Whenever I receive a new GPS location, I update the symbol with:
vehicleSymbol.setLatLng(newLatLng);
symbolManager.update(vehicleSymbol);
However, the symbol "blinks", apparently mostly when I zoom in. This can be seen on the following video: https://streamable.com/zqhxo
Am I doing something wrong? Is there a maximum rate at which I can update the symbol?
Setting setIconAllowOverlap to true did it:
symbolManager.setIconAllowOverlap(true);

CLGeocoder returns different result than MKReverseGeocoder

I am attempting to modify our app from using MKReverseGeocoder to CLGeocoder for devices running iOS 5, but I'm getting different results from the two classes. Specifically, when doing a reverse geocode with this coordinate:
(47.643126, -122.204037)
I get this from MKReverseGeocoder:
10210 NE Points Dr
Kirkland, Washington 98033
but I get this from CLGeocoder:
9601-10267 NE Points Dr
Kirkland, Washington 98033
The second value is much less specific than the first and therefore much less useful. The solution for now is to just use MKReverseGeocoder, but at some point we'll be forced to switch.
Q: Any idea how to improve the results from CLGeocoder?
Thanks,
David
update their database. In short their data is less specific/accurate so there is nothing you can do apart from accept their less accurate data

Google Maps Boundaries (limiting location data to a Lat/Long Boundary)

Anyone know how to get thew Google Maps API HTTP request/response to only return me Locations that fall within Australia ?
I thought I could just add:
bounds=lat, long | lat Long
Creating a square boundary based off Coordinates, but Google for some strange reason isn't liking it.
[NSString stringWithFormat:#"%#%#+Australia&bounds=-9.102097,104.765625|-44.902578,159.697266&sensor=false&region=au", kGoogleGeocodeURL, params];
Problem resolved, it turns out that the search string was correct, but I needed to use UTF8Encoding, as NSString didn't like the Commas.

For anyone familiar with the "TableViewSuite" sample code in apple dev center

In the "sample code" in iOS Dev Center there is a TableViewSuite.
In the first example SimpleTableView the simulator provides a list of time zones by country.
I can not find the list they are pulling from!
it appears to be an array but I can't find the actual words that are coming up on the simulator screen in Xcode.
I've learned about plists and dictionarys and Arrays and simply can't find where the names are coming from.
I found this line:
// Retrieve the array of known time zone names, then sort the array and pass it to the root view controller.
NSArray *timeZones = [NSTimeZone knownTimeZoneNames];
rootViewController.timeZoneNames = [timeZones sortedArrayUsingSelector:#selector(localizedCaseInsensitiveCompare:)];
Again, where is it retrieving the information from?
Thanks again.
They're coming from this message:
[NSTimeZone knownTimeZoneNames]
Which is documented as such:
Returns an array of strings listing the IDs of all the time zones known to the system.
So essentially they're predefined somewhere in iOS and the names are simply being queried off the system.
+[NSTimeZone knownTimeZoneNames] gets the list of time zones from the system itself. There is no list in the project.

Words Per Minute Iphone SDK

I need to calculate words per minute while typing in textfield. It is typing speed calculator and it provides user text need to be typed in the lable above textfield. Please give me some idea how to get started and what events to use.
Thanks you.
UITextField lets you set a delegate implementing UITextFieldDelegate. That object will be sent textField:shouldChangeCharactersInRange:replacementString: for each edit the user does (for example entering a char).
In there you can implement your logic - saving the timestamp of the first entry, comparing each entry against the correct string, and then, when the entire string has been entered by the user, dividing the number of words with the spent time.