2012-06-28 2 views
0

У меня есть проект сопоставления, который я написал несколько месяцев назад, где я использую вспомогательный класс, который передает параметры касания к моему основному классу mapview. Используя следующий метод, который я могу нормально преобразовать CGPoint х и у информации к географической координате:CGPoint to CLLLocationCoordinate2D - convertPoint toCoordinateFromView не работает

- (void)moveDetect:(NSSet *)touches :(UIEvent *)event { 

UITouch *touch = [[event allTouches] anyObject]; 
CGPoint touchPoint = [touch locationInView:self.view]; 
NSLog(@"X:%f Y:%f", touchPoint.x, touchPoint.y); 

CLLocationCoordinate2D touchCoordinate = [self.mapView convertPoint:touchPoint toCoordinateFromView:self.mapView]; 

float lat = touchCoordinate.latitude; 
float lng = touchCoordinate.longitude; 
NSLog(@"Touch Coordinate: %f %f", lat, lng);} 

Я недавно пытался повторно использовать код в другом проекте, но преобразование не происходит. Завершение и переход в переменную touchCoordinate показывает значения первоначально (latitude = {CLLocationDegrees} 3.23141e-306 и longitude = {CLLocationDegrees} 5.46786e-48), но как только вы достигнете следующей строки кода, значения равны 0. Я рассмотрели оба проекта, но не смогли понять, почему один работает, а другой - нет. Я ценю время и с нетерпением жду любых предложений, которые могли бы привести меня в правильном направлении. Благодарю.

ответ

0

Используйте это:

- (void)moveDetect:(NSSet *)touches :(UIEvent *)event { 

    UITouch *touch = [[event allTouches] anyObject]; 
    CGPoint touchPoint = [touch locationInView:self.mapView]; //here locationInView it would be mapView 
    NSLog(@"X:%f Y:%f", touchPoint.x, touchPoint.y); 

    CLLocationCoordinate2D touchCoordinate = [self.mapView convertPoint:touchPoint toCoordinateFromView:self.mapView]; 
} 
+1

После возни в течение еще четырех часов, я, наконец, начал с нового проекта, но на этот раз я создал ее исключительно для IPad. Протестировал код и отлично работает, поэтому, очевидно, что-то в проекте было повреждено. В старом проекте я удалил универсальные настройки проекта и настроил его для iPad только как тест, но он вел себя точно так же. Поскольку я не могу сузить точную причину, я оставлю это без ответа. – ninehundredt

+0

В качестве побочного примечания я также создал оригинальный проект из AppCode, а не Xcode, который мог быть виноват. Рабочий проект был создан в Xcode и работает как шарм. – ninehundredt

Смежные вопросы