Determinación del punto medio entre 2 cooridinatos

Estoy tratando de determinar el punto medio entre las ubicaciones en unaMKMapView. Estoy siguiendo el método descrito.aquí (yaquí) y lo reescribió en Objective-C, pero el mapa está centrado en algún lugar al noreste de la isla Baffin, que no se encuentra cerca de los dos puntos.

Mi método basado en el método java vinculado anteriormente:

<code>+(CLLocationCoordinate2D)findCenterPoint:(CLLocationCoordinate2D)_lo1 :(CLLocationCoordinate2D)_loc2 {
    CLLocationCoordinate2D center;

    double lon1 = _lo1.longitude * M_PI / 180;
    double lon2 = _loc2.longitude * M_PI / 100;

    double lat1 = _lo1.latitude * M_PI / 180;
    double lat2 = _loc2.latitude * M_PI / 100;

    double dLon = lon2 - lon1;

    double x = cos(lat2) * cos(dLon);
    double y = cos(lat2) * sin(dLon);

    double lat3 = atan2( sin(lat1) + sin(lat2), sqrt((cos(lat1) + x) * (cos(lat1) + x) + y * y) );
    double lon3 = lon1 + atan2(y, cos(lat1) + x);

    center.latitude  = lat3 * 180 / M_PI;
    center.longitude = lon3 * 180 / M_PI;

    return center;
}
</code>

Los 2 parámetros tienen los siguientes datos:

<code>_loc1:
    latitude = 45.4959839
    longitude = -73.67826455

_loc2:
    latitude = 45.482889
    longitude = -73.57522299
</code>

Los anteriores se colocan correctamente en el mapa (en y alrededor de Montreal). Estoy tratando de centrar el mapa en el punto medio entre los 2, pero mi método devuelve lo siguiente:

<code>latitude = 65.29055
longitude = -82.55425
</code>

que en algún lugar del ártico, cuando debería estar alrededor de 500 millas al sur.

Respuestas a la pregunta(5)

Su respuesta a la pregunta