Hi!I want Minimum and Maximum Latitude and Longitude Using Current Location.Suppose i have give the area of 20km so using that latitude and Longitude i want Maximum latitude and Longitude and Minimum latitude and Longitude also want all latitude and Longitude in between this so how can i get it.How can i use of radius in it.Please help me.Thanks in Advance...
views:
115answers:
1
+2
A:
you can manually calculate it... I don't know if any other way exist 1° latitude = 69.047 statute miles = 60 nautical miles = 111.12 kilometers
so for 20 kilometers it would be around 0.18 latitude For longitude the conversion is the same as latitude except the value is multiplied by the cosine of the latitude.
To set the same range on map for display
newRegion.center=newLocation.coordinate;
// newRegion.span.latitudeDelta = (20*2)/111.12; // For kilometers
newRegion.span.latitudeDelta = (20*2)/60.0; // For Miles
newRegion.span.longitudeDelta = ((20*2)/60.0) *(cos(newRegion.span.latitudeDelta)); // For Miles
mapView.region = newRegion;
It will set 20 kilometer's range on map that is displayed...
so you can find it by
you can find it by
minLattitude = currentLattitude - (RadiusInKm/111.12);
maxLattitude = currentLattitude + (RadiusInKm/111.12);
For longitude same but multiply the result with cosine of latitude...
mihirpmehta
2010-06-18 06:24:19
i have current location and radius now i want to find Min Lat/Long and Max Lat/Long (region) how can i find this...
Ankit Vyas
2010-06-18 06:38:13
Hi Ankit,you can find it by minLattitude = currentLattitude - (RadiusInKm/111.12);maxLattitude = currentLattitude + (RadiusInKm/111.12);For logitude same but multiply the result with cosine of lattitude...I am updating the same in answer...
mihirpmehta
2010-06-18 07:28:38
Thank You Very much for your kind reply.....
Ankit Vyas
2010-06-18 07:38:01
double minLattitude,maxLattitude,minLongitude,maxLongitude;minLattitude = self.currentLocation.latitude - ((LOCATE_PIN_MILE*1.609344)/111.12);minLongitude = self.currentLocation.longitude * cos(minLattitude); maxLattitude = self.currentLocation.latitude + ((LOCATE_PIN_MILE*1.609344)/111.12);maxLongitude = self.currentLocation.longitude * cos(maxLattitude);Is it ok?Where LOCATE_PIN_MILE is in miles.I am not getting correct results.Please suggest me.
Ankit Vyas
2010-06-18 09:45:40
use LOCATE_PIN_MILE/60 direct OR LOCATE_PIN_MILE*2/60... one of them should be work
mihirpmehta
2010-06-19 07:25:25
ok! Done Working fine!Thank you.
Ankit Vyas
2010-06-19 09:06:27