views:

115

answers:

1

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...

+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
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
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
Thank You Very much for your kind reply.....
Ankit Vyas
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
use LOCATE_PIN_MILE/60 direct OR LOCATE_PIN_MILE*2/60... one of them should be work
mihirpmehta
ok! Done Working fine!Thank you.
Ankit Vyas