Сбой iOS Google Map SDK при добавлении GMSPolygon или GMSPolyline на карту ⇐ IOS
-
Гость
Сбой iOS Google Map SDK при добавлении GMSPolygon или GMSPolyline на карту
Добавлено все согласно руководству «Приступая к работе». Карта загружается, и я могу без проблем добавить на нее GMSMarker. У меня есть метод рисования многоугольника, но приложение каждый раз вылетает.
Метод:
-(void)drawPolygon { GMSMutablePath* путь = [[GMSMutablePath alloc] init]; [путь addCoordinate:CLLocationCoordinate2DMake(-91.13343811039999, 42.6450805664)]; [путь addCoordinate:CLLocationCoordinate2DMake(-91.0180969238,42.6452140808)]; [путь addCoordinate:CLLocationCoordinate2DMake(-90.8977890015,42.6446838379)]; [путь addCoordinate:CLLocationCoordinate2DMake(-90.89622497560001,42.6696586609)]; [путь addCoordinate:CLLocationCoordinate2DMake(-90.8959732056,42.6752548218)]; [путь addCoordinate:CLLocationCoordinate2DMake(-90.88994598390001,42.6732940674)]; GMSPolygon* поли = [GMSPolygon полигонWithPath:путь]; поли.строкеВидс = 2,0; poly.strokeColor = [UIColor colorWithRed:0.0 зеленый:0.0 синий:0.0 альфа:1.0]; poly.fillColor = [UIColor colorWithRed:0,0 зеленый:0,0 синий:0,0 альфа:0,4]; поли.карта = _mapView; //КРУШЕНИЕ!! } Вот обратная трассировка:
поток № 1: tid = 0x1c03, 0x0010ebde Maps`(anonymous namespace)::PolygonInstance::UpdateEntities(float, gmscore::base::reffed_ptr, gmscore:: renderer::EntityRenderer*, (анонимное пространство имен)::MarkupBehavior*) + 288, причина остановки = EXC_BAD_ACCESS (код=2, адрес=0x4) кадр № 0: 0x0010ebde Maps`(анонимное пространство имен)::PolygonInstance::UpdateEntities(float, gmscore::base::reffed_ptr, gmscore::renderer::EntityRenderer*, (анонимное пространство имен) ::MarkupBehavior*) + 288 кадр №1: 0x00111f3c Maps`(анонимное пространство имен)::MarkupBehavior::Commit(gmscore::renderer::EntityRenderer*) + 978 кадр №2: 0x0008aad2 Maps`gmscore::renderer::EntityRenderer::Draw(bool) + 634 кадр №3: 0x000d6a46 Maps`-[GMSEntityRendererView draw] + 200 кадр №4: 0x000d5a85 Maps`-[GMSEntityRendererView displayLinkFired:] + 33 кадр №5: 0x00144399 Maps`-[GMSDisplayLink displayLinkFired:] + 351 кадр №6: 0x00f9e2d2 QuartzCore`CA::Display::DisplayLink::dispatch(длинное без знака, длинное без знака) + 110 кадр № 7: 0x00f9e75f QuartzCore`CA::Display::TimerDisplayLink::callback(__CFRunLoopTimer*, void*) + 161 кадр №8: 0x02519376 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 22 кадр №9: 0x02518e06 CoreFoundation`__CFRunLoopDoTimer + 534 кадр № 10: 0x02500a82 CoreFoundation`__CFRunLoopRun + 1810 кадр № 11: 0x024fff44 CoreFoundation`CFRunLoopRunSpecific + 276 кадр № 12: 0x024ffe1b CoreFoundation`CFRunLoopRunInMode + 123 кадр № 13: 0x038167e3 GraphicsServices`GSEventRunModal + 88 кадр № 14: 0x03816668 GraphicsServices`GSEventRun + 104 кадр № 15: 0x012bfffc UIKit`UIApplicationMain + 1211 кадр № 16: 0x0000298d Maps`main(argc=1, argv=0xbffff3e0) + 141 в main.m:16 Я вообще не пытаюсь использовать MapKit. Никакие другие контексты OpenGL не были созданы. Может ли кто-нибудь предоставить мне рабочий пример GMSPolygon? Я считаю, что мой пример соответствует официальному примеру.
Использование SDK версии 1.3.1. ARC включен. Приложение с одним просмотром, использующее раскадровки. Панорамирование/масштабирование - все остальное работает, кроме рисования фигур.
Добавлено все согласно руководству «Приступая к работе». Карта загружается, и я могу без проблем добавить на нее GMSMarker. У меня есть метод рисования многоугольника, но приложение каждый раз вылетает.
Метод:
-(void)drawPolygon { GMSMutablePath* путь = [[GMSMutablePath alloc] init]; [путь addCoordinate:CLLocationCoordinate2DMake(-91.13343811039999, 42.6450805664)]; [путь addCoordinate:CLLocationCoordinate2DMake(-91.0180969238,42.6452140808)]; [путь addCoordinate:CLLocationCoordinate2DMake(-90.8977890015,42.6446838379)]; [путь addCoordinate:CLLocationCoordinate2DMake(-90.89622497560001,42.6696586609)]; [путь addCoordinate:CLLocationCoordinate2DMake(-90.8959732056,42.6752548218)]; [путь addCoordinate:CLLocationCoordinate2DMake(-90.88994598390001,42.6732940674)]; GMSPolygon* поли = [GMSPolygon полигонWithPath:путь]; поли.строкеВидс = 2,0; poly.strokeColor = [UIColor colorWithRed:0.0 зеленый:0.0 синий:0.0 альфа:1.0]; poly.fillColor = [UIColor colorWithRed:0,0 зеленый:0,0 синий:0,0 альфа:0,4]; поли.карта = _mapView; //КРУШЕНИЕ!! } Вот обратная трассировка:
поток № 1: tid = 0x1c03, 0x0010ebde Maps`(anonymous namespace)::PolygonInstance::UpdateEntities(float, gmscore::base::reffed_ptr, gmscore:: renderer::EntityRenderer*, (анонимное пространство имен)::MarkupBehavior*) + 288, причина остановки = EXC_BAD_ACCESS (код=2, адрес=0x4) кадр № 0: 0x0010ebde Maps`(анонимное пространство имен)::PolygonInstance::UpdateEntities(float, gmscore::base::reffed_ptr, gmscore::renderer::EntityRenderer*, (анонимное пространство имен) ::MarkupBehavior*) + 288 кадр №1: 0x00111f3c Maps`(анонимное пространство имен)::MarkupBehavior::Commit(gmscore::renderer::EntityRenderer*) + 978 кадр №2: 0x0008aad2 Maps`gmscore::renderer::EntityRenderer::Draw(bool) + 634 кадр №3: 0x000d6a46 Maps`-[GMSEntityRendererView draw] + 200 кадр №4: 0x000d5a85 Maps`-[GMSEntityRendererView displayLinkFired:] + 33 кадр №5: 0x00144399 Maps`-[GMSDisplayLink displayLinkFired:] + 351 кадр №6: 0x00f9e2d2 QuartzCore`CA::Display::DisplayLink::dispatch(длинное без знака, длинное без знака) + 110 кадр № 7: 0x00f9e75f QuartzCore`CA::Display::TimerDisplayLink::callback(__CFRunLoopTimer*, void*) + 161 кадр №8: 0x02519376 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 22 кадр №9: 0x02518e06 CoreFoundation`__CFRunLoopDoTimer + 534 кадр № 10: 0x02500a82 CoreFoundation`__CFRunLoopRun + 1810 кадр № 11: 0x024fff44 CoreFoundation`CFRunLoopRunSpecific + 276 кадр № 12: 0x024ffe1b CoreFoundation`CFRunLoopRunInMode + 123 кадр № 13: 0x038167e3 GraphicsServices`GSEventRunModal + 88 кадр № 14: 0x03816668 GraphicsServices`GSEventRun + 104 кадр № 15: 0x012bfffc UIKit`UIApplicationMain + 1211 кадр № 16: 0x0000298d Maps`main(argc=1, argv=0xbffff3e0) + 141 в main.m:16 Я вообще не пытаюсь использовать MapKit. Никакие другие контексты OpenGL не были созданы. Может ли кто-нибудь предоставить мне рабочий пример GMSPolygon? Я считаю, что мой пример соответствует официальному примеру.
Использование SDK версии 1.3.1. ARC включен. Приложение с одним просмотром, использующее раскадровки. Панорамирование/масштабирование - все остальное работает, кроме рисования фигур.
Мобильная версия