私のviewDidLoadに次のループがあります:
for(int i=1; i<[eventsArray count]; i++) {
NSArray *componentsArray = [[eventsArray objectAtIndex:i] componentsSeparatedByString:@","];
if([componentsArray count] >=6) {
Koordinate *coord = [[Koordinate alloc] init];
coord.latitude = [[componentsArray objectAtIndex:0] floatValue];
coord.longtitude = [[componentsArray objectAtIndex:1] floatValue];
coord.magnitude = [[componentsArray objectAtIndex:2] floatValue];
coord.depth = [[componentsArray objectAtIndex:3] floatValue];
coord.title = [componentsArray objectAtIndex:4];
coord.strasse = [componentsArray objectAtIndex:5];
coord.herkunft = [componentsArray objectAtIndex:6];
coord.telefon = [componentsArray objectAtIndex:7];
coord.internet = [componentsArray objectAtIndex:8];
[eventPoints addObject:coord];
}
coordはCLLocationCoordinate2Dです
しかし、2つの座標間の距離を取得するためにこれが必要なため、次の方法でどのように座標を使用できますか?
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation{
}
私が立ち往生しているのを助けてください!
事前に助けてくれてありがとう
CLLocation
には、-(id)initWithLatitude:(CLLocationDegrees)latitude longitude:(CLLocationDegrees)longitude
という名前のinitメソッドがあります。次に、- (CLLocationDistance)getDistanceFrom:(const CLLocation *)location
を使用して、2つのCLLocationオブジェクト間の距離を取得します。
シンプルな
CLLocation *location = [[CLLocation alloc] initWithLatitude:lat longitude:lon];
Swift群衆の場合、
「fetchCafesArroundLocation」というメソッドがあり、地図が移動した後に更新されます。これは、CLLocationCoordiate2dからLatとLonをCLLocationに取得して、CLLocation変数を処理メソッドに渡す方法です。
func mapView(mapView: MKMapView!, regionDidChangeAnimated animated: Bool){
var centre = mapView.centerCoordinate as CLLocationCoordinate2D
var getLat: CLLocationDegrees = centre.latitude
var getLon: CLLocationDegrees = centre.longitude
var getMovedMapCenter: CLLocation = CLLocation(latitude: getLat, longitude: getLon)
self.lastLocation = getMovedMapCenter
self.fetchCafesAroundLocation(getMovedMapCenter)
}
CoordがCCLocationCoordinate2D
の場合は、
**- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation**
以下のようにlatitude
の座標プロパティのlongitude
プロパティとCLLocation
プロパティの両方を取得してデリゲートします。
coord.latitude = newLocation.coordinate.latitude;
coord.longitude = newLocation.coordinate.longitude;