Skip to content
This repository has been archived by the owner on Jan 6, 2023. It is now read-only.

Identify KML Features sample #498

Merged
merged 7 commits into from
Oct 2, 2018
Merged

Conversation

philium
Copy link
Contributor

@philium philium commented Sep 28, 2018

Adds the Identify KML Features sample.

Adds the Identify KML Features sample.
@philium philium self-assigned this Sep 28, 2018
@qsmmorgan
Copy link
Contributor

The popup font size seems too small, at least in the simulator. Is this set by the data source?

simulator screen shot - iphone xr - 2018-10-01 at 08 23 54

@philium
Copy link
Contributor Author

philium commented Oct 1, 2018

@qsmmorgan Unfortunately the font size is embedded in the html:

<font size="+1"><b>Flash Flooding is possible</b> in the enclosed area during Wed, Sep 19, 2018.</font>

I don't know if there's a way to modify that.

@qsmmorgan
Copy link
Contributor

@philium One option to consider is converting the HTML to NSAttributedString and using a UITextView instead of a web view.

    func showCallout(for placemark: AGSKMLPlacemark, at point: AGSPoint) {
        
        let contentData = placemark.balloonContent.data(using: .utf8)!
        let attributedText = try? NSMutableAttributedString(data: contentData, options: [.documentType: NSAttributedString.DocumentType.html], documentAttributes: nil)
        
        let textView = UITextView(frame: CGRect(origin: .zero, size: CGSize(width: 320, height: 100)))
        textView.attributedText = attributedText
        textView.backgroundColor = placemark.balloonBackgroundColor
        
        mapView.callout.customView = textView
        mapView.callout.show(at: point, screenOffset: .zero, rotateOffsetWithMap: false, animated: true)
    }

This makes the font size slightly larger by default and lets the developer customize the text any way they like. It also makes the callouts native without the web view overhead.

simulator screen shot - iphone xr - 2018-10-01 at 09 40 16

@qsmmorgan
Copy link
Contributor

qsmmorgan commented Oct 1, 2018

Occasionally Often getting a crash when opening the sample. Build 2192. (Edit: also 2195)

Stack Trace
  thread #1, queue = 'com.apple.main-thread'
    frame #0: 0x000000011ab6dc2a libsystem_kernel.dylib`mach_msg_trap + 10
    frame #1: 0x000000011ab6e174 libsystem_kernel.dylib`mach_msg + 60
    frame #2: 0x0000000110b605c4 CoreFoundation`__CFRunLoopServiceMachPort + 212
    frame #3: 0x0000000110b5abf9 CoreFoundation`__CFRunLoopRun + 1689
    frame #4: 0x0000000110b5a221 CoreFoundation`CFRunLoopRunSpecific + 625
    frame #5: 0x000000011d1261dd GraphicsServices`GSEventRunModal + 62
    frame #6: 0x0000000120f7d115 UIKitCore`UIApplicationMain + 140
    frame #7: 0x000000010e712b07 arcgis-ios-sdk-samples`main at AppDelegate.swift:19
    frame #8: 0x000000011a84a551 libdyld.dylib`start + 1
  thread #4, queue = 'com.esri.arcgis.mapRendererQ'
    frame #0: 0x000000011425e8e2 ArcGIS`Esri_runtimecore::Geometry::Projection_utils::PE_geog_to_geog(Esri_runtimecore::Geometry::Projection_transformation_impl const&, Esri_runtimecore::Geometry::Multi_vertex_geometry&, bool) + 1004
    frame #1: 0x00000001141c6fec ArcGIS`Esri_runtimecore::Geometry::Legacy_project::project_polygon_(Esri_runtimecore::Geometry::Polygon const&, Esri_runtimecore::Geometry::Progress_tracker*) + 3958
    frame #2: 0x00000001141c308a ArcGIS`Esri_runtimecore::Geometry::Legacy_project::project_multi_path_(Esri_runtimecore::Geometry::Multi_path const&, Esri_runtimecore::Geometry::Progress_tracker*) + 80
    frame #3: 0x00000001141c2dad ArcGIS`Esri_runtimecore::Geometry::Legacy_project::project(std::__1::shared_ptr<Esri_runtimecore::Geometry::Geometry> const&, Esri_runtimecore::Geometry::Progress_tracker*) + 633
    frame #4: 0x00000001141c2b2a ArcGIS`Esri_runtimecore::Geometry::Legacy_project::project(std::__1::shared_ptr<Esri_runtimecore::Geometry::Geometry> const&, Esri_runtimecore::Geometry::Projection_transformation const&, Esri_runtimecore::Geometry::Progress_tracker*) + 24
    frame #5: 0x0000000114233db7 ArcGIS`Esri_runtimecore::Geometry::Operator_project_local::execute(std::__1::shared_ptr<Esri_runtimecore::Geometry::Geometry> const&, std::__1::shared_ptr<Esri_runtimecore::Geometry::Projection_transformation> const&, Esri_runtimecore::Geometry::Progress_tracker*) + 81
    frame #6: 0x000000011348c619 ArcGIS`Esri_runtimecore::KML::Display_context::project_geometry(std::__1::shared_ptr<Esri_runtimecore::Geometry::Geometry>&) + 73
    frame #7: 0x000000011349e5fb ArcGIS`Esri_runtimecore::KML::Extruded_line_element::add_graphic(Esri_runtimecore::KML::Display_context&) + 193
    frame #8: 0x000000011348c471 ArcGIS`Esri_runtimecore::KML::Display_context::add_to_graphic_bucket(Esri_runtimecore::KML::Core_list<std::__1::shared_ptr<Esri_runtimecore::KML::Element> > const&) + 119
    frame #9: 0x000000011347ba0a ArcGIS`Esri_runtimecore::KML::Core_layer::draw2d(std::__1::shared_ptr<Esri_runtimecore::Map_renderer::Display_properties> const&) + 4210
    frame #10: 0x000000011345c880 ArcGIS`Esri_runtimecore::KML::KML_layer_2D::draw(std::__1::shared_ptr<Esri_runtimecore::HAL::Device> const&, std::__1::shared_ptr<Esri_runtimecore::Map_renderer::Drawable::Render_properties> const&, std::__1::shared_ptr<Esri_runtimecore::Map_renderer::Display_properties> const&) + 128
    frame #11: 0x0000000113a4a542 ArcGIS`Esri_runtimecore::Map_renderer::Map::draw(std::__1::shared_ptr<Esri_runtimecore::HAL::Device> const&) + 1772
    frame #12: 0x0000000112eba9ff ArcGIS`Esri_runtimecore::Mapping::Map_view::draw(Esri_runtimecore::Mapping::Device&) + 109
    frame #13: 0x000000011283daf2 ArcGIS`RT_GeoView_draw + 49
    frame #14: 0x00000001124c3ace ArcGIS`-[RTCGeoView draw:error:] + 142
    frame #15: 0x000000011258e898 ArcGIS`-[AGSGeoViewRenderer doDraw] + 289
    frame #16: 0x000000011252ac4b ArcGIS`__28-[AGSGeoView setRtcGeoView:]_block_invoke.116 + 66
    frame #17: 0x00000001124c329a ArcGIS`drawRequestedHandler + 108
    frame #18: 0x000000011272cb8f ArcGIS`std::__1::function<void (void*)>::operator()(void*) const + 31
    frame #19: 0x0000000112b433be ArcGIS`Esri_runtimecore::Common::Signal<Esri_runtimecore::Mapping::Geo_view const>::operator()(Esri_runtimecore::Mapping::Geo_view const&) const + 302
    frame #20: 0x0000000112b5bb52 ArcGIS`Esri_runtimecore::Mapping::Geo_view_draw_requested::draw_request_callback() + 50
    frame #21: 0x0000000113a4b9bd ArcGIS`Esri_runtimecore::Map_renderer::Map::on_pulse_() + 3765
    frame #22: 0x0000000113a4aaee ArcGIS`Esri_runtimecore::Map_renderer::Map::pulse() + 28
    frame #23: 0x000000011283dcaf ArcGIS`RT_GeoView_pulse + 23
    frame #24: 0x00000001124c465b ArcGIS`-[RTCGeoView pulse:] + 87
    frame #25: 0x000000011258e341 ArcGIS`__28-[AGSGeoViewRenderer pulse:]_block_invoke + 100
    frame #26: 0x000000011a7d35d1 libdispatch.dylib`_dispatch_call_block_and_release + 12
    frame #27: 0x000000011a7d463e libdispatch.dylib`_dispatch_client_callout + 8
    frame #28: 0x000000011a7dbb47 libdispatch.dylib`_dispatch_lane_serial_drain + 791
    frame #29: 0x000000011a7dc7c0 libdispatch.dylib`_dispatch_lane_invoke + 428
    frame #30: 0x000000011a7e68b8 libdispatch.dylib`_dispatch_workloop_worker_thread + 733
    frame #31: 0x000000011abc361c libsystem_pthread.dylib`_pthread_wqthread + 409
    frame #32: 0x000000011abc3415 libsystem_pthread.dylib`start_wqthread + 13
  thread #6, name = 'com.apple.uikit.eventfetch-thread'
    frame #0: 0x000000011ab6dc2a libsystem_kernel.dylib`mach_msg_trap + 10
    frame #1: 0x000000011ab6e174 libsystem_kernel.dylib`mach_msg + 60
    frame #2: 0x0000000110b605c4 CoreFoundation`__CFRunLoopServiceMachPort + 212
    frame #3: 0x0000000110b5abf9 CoreFoundation`__CFRunLoopRun + 1689
    frame #4: 0x0000000110b5a221 CoreFoundation`CFRunLoopRunSpecific + 625
    frame #5: 0x000000010f4f7522 Foundation`-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 277
    frame #6: 0x000000010f4f7734 Foundation`-[NSRunLoop(NSRunLoop) runUntilDate:] + 143
    frame #7: 0x0000000120ed763f UIKitCore`-[UIEventFetcher threadMain] + 118
    frame #8: 0x000000010f50c932 Foundation`__NSThread__start__ + 1221
    frame #9: 0x000000011abc433d libsystem_pthread.dylib`_pthread_body + 126
    frame #10: 0x000000011abc72a7 libsystem_pthread.dylib`_pthread_start + 70
    frame #11: 0x000000011abc3425 libsystem_pthread.dylib`thread_start + 13
  thread #7, queue = 'com.esri.arcgis.requestOperation.data'
    frame #0: 0x00000001140cbc5c ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::allocate_node_() + 32
    frame #1: 0x00000001140cb8d5 ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 29
    frame #2: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #3: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #4: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #5: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #6: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #7: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #8: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #9: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #10: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #11: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #12: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #13: 0x00000001140cb766 ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::import(unsigned char const*, unsigned long) + 428
    frame #14: 0x00000001140ce45f ArcGIS`std::__1::__function::__func<Esri_runtimecore::Vector_tiles::Tile_map::load_index(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::function<unsigned long long (Esri_runtimecore::Vector_tiles::Request, std::__1::function<void (Esri_runtimecore::Vector_tiles::Response)>)> const&, std::__1::function<void (bool)> const&, void*)::$_0, std::__1::allocator<Esri_runtimecore::Vector_tiles::Tile_map::load_index(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::function<unsigned long long (Esri_runtimecore::Vector_tiles::Request, std::__1::function<void (Esri_runtimecore::Vector_tiles::Response)>)> const&, std::__1::function<void (bool)> const&, void*)::$_0>, void (Esri_runtimecore::Vector_tiles::Response)>::operator()(Esri_runtimecore::Vector_tiles::Response&&) + 89
    frame #15: 0x0000000112e5b119 ArcGIS`Esri_runtimecore::Mapping::Vector_tile_service_request::handle_response_callback(unsigned char const*, unsigned long, std::__1::shared_ptr<Esri_runtimecore::Common::Client_reference> const&) const + 207
    frame #16: 0x0000000112e5aef2 ArcGIS`Esri_runtimecore::Mapping::Vector_tile_source_info::handle_response_(std::__1::shared_ptr<Esri_runtimecore::Mapping::Request> const&, unsigned char const*, unsigned long, std::__1::shared_ptr<Esri_runtimecore::Common::Client_reference> const&) + 244
    frame #17: 0x000000011319d2c9 ArcGIS`Esri_runtimecore::Mapping::Request_delegator::handle_response(unsigned long long, unsigned char const*, unsigned long, std::__1::shared_ptr<Esri_runtimecore::Common::Client_reference> const&) + 397
    frame #18: 0x000000011319a80b ArcGIS`Esri_runtimecore::Mapping::Request::handle_response(unsigned char const*, unsigned long, std::__1::shared_ptr<Esri_runtimecore::Common::Client_reference> const&) + 113
    frame #19: 0x00000001129648e8 ArcGIS`RT_Request_handleResponse + 189
    frame #20: 0x000000011255ec53 ArcGIS`-[RTCRequest handleResponse:userDefinedError:error:] + 231
    frame #21: 0x0000000112669925 ArcGIS`__71+[AGSRTCRequestDispatcher ags_kickOffCoreRequest:forRequestDispatcher:]_block_invoke.187 + 1420
    frame #22: 0x000000011268fcc9 ArcGIS`__38-[AGSObservableOperation didComplete:]_block_invoke + 325
    frame #23: 0x000000011251370c ArcGIS`ags_runWithMainThread + 66
    frame #24: 0x000000011268fb62 ArcGIS`-[AGSObservableOperation didComplete:] + 264
    frame #25: 0x00000001125abcf4 ArcGIS`-[AGSRequestOperation didComplete:] + 370
    frame #26: 0x000000011268f9b1 ArcGIS`-[AGSObservableOperation finishWithResult:error:] + 132
    frame #27: 0x00000001125afa1a ArcGIS`-[AGSRequestOperation finishWithResult:error:] + 773
    frame #28: 0x00000001125ad5ec ArcGIS`-[AGSRequestOperation requestOperationDidFinishLoading] + 595
    frame #29: 0x00000001125acd50 ArcGIS`-[AGSRequestOperation handleRequestCompletionWithError:] + 187
    frame #30: 0x000000011a7d35d1 libdispatch.dylib`_dispatch_call_block_and_release + 12
    frame #31: 0x000000011a7d463e libdispatch.dylib`_dispatch_client_callout + 8
    frame #32: 0x000000011a7dbb47 libdispatch.dylib`_dispatch_lane_serial_drain + 791
    frame #33: 0x000000011a7dc7c0 libdispatch.dylib`_dispatch_lane_invoke + 428
    frame #34: 0x000000011a7e68b8 libdispatch.dylib`_dispatch_workloop_worker_thread + 733
    frame #35: 0x000000011abc361c libsystem_pthread.dylib`_pthread_wqthread + 409
    frame #36: 0x000000011abc3415 libsystem_pthread.dylib`start_wqthread + 13
  thread #10, queue = 'com.esri.arcgis.requestOperation.data'
    frame #0: 0x00000001141db946 ArcGIS`Esri_runtimecore::Geometry::Multi_path_impl_area_helper::calc_path_area_linear_doubled_(Esri_runtimecore::Geometry::Multi_path_impl const&, long long, Esri_runtimecore::Geometry::Attribute_stream_of_dbl const*, Esri_runtimecore::Geometry::Kahan_summator&) + 228
    frame #1: 0x00000001141db659 ArcGIS`Esri_runtimecore::Geometry::Multi_path_impl::update_ring_areas_2D_protected_() const + 575
    frame #2: 0x00000001141db40a ArcGIS`Esri_runtimecore::Geometry::Multi_path_impl::calculate_area_2D() const + 26
    frame #3: 0x00000001141adde9 ArcGIS`Esri_runtimecore::Geometry::Geonormalizer::geo_normalize_polygon_geometry(bool) + 1141
    frame #4: 0x0000000114265c17 ArcGIS`Esri_runtimecore::Geometry::Projection_utils::geo_normalize_polygon_geometry(Esri_runtimecore::Geometry::Polygon const&, Esri_runtimecore::Geometry::Spatial_reference const&, Esri_runtimecore::Geometry::Polyline&&, std::__1::shared_ptr<Esri_runtimecore::Geometry::Spatial_reference_impl> const&, double, Esri_runtimecore::Geometry::Progress_tracker*, int, double) + 65
    frame #5: 0x00000001141c7360 ArcGIS`Esri_runtimecore::Geometry::Legacy_project::project_polygon_(Esri_runtimecore::Geometry::Polygon const&, Esri_runtimecore::Geometry::Progress_tracker*) + 4842
    frame #6: 0x00000001141c308a ArcGIS`Esri_runtimecore::Geometry::Legacy_project::project_multi_path_(Esri_runtimecore::Geometry::Multi_path const&, Esri_runtimecore::Geometry::Progress_tracker*) + 80
    frame #7: 0x00000001141c574f ArcGIS`Esri_runtimecore::Geometry::Legacy_project::project_envelope_helper_(Esri_runtimecore::Geometry::Envelope const&, Esri_runtimecore::Geometry::Progress_tracker*) + 277
    frame #8: 0x00000001141c4304 ArcGIS`Esri_runtimecore::Geometry::Legacy_project::project_envelope_(Esri_runtimecore::Geometry::Envelope const&, Esri_runtimecore::Geometry::Progress_tracker*) + 444
    frame #9: 0x00000001141c2e20 ArcGIS`Esri_runtimecore::Geometry::Legacy_project::project(std::__1::shared_ptr<Esri_runtimecore::Geometry::Geometry> const&, Esri_runtimecore::Geometry::Progress_tracker*) + 748
    frame #10: 0x00000001141c2b2a ArcGIS`Esri_runtimecore::Geometry::Legacy_project::project(std::__1::shared_ptr<Esri_runtimecore::Geometry::Geometry> const&, Esri_runtimecore::Geometry::Projection_transformation const&, Esri_runtimecore::Geometry::Progress_tracker*) + 24
    frame #11: 0x0000000114233db7 ArcGIS`Esri_runtimecore::Geometry::Operator_project_local::execute(std::__1::shared_ptr<Esri_runtimecore::Geometry::Geometry> const&, std::__1::shared_ptr<Esri_runtimecore::Geometry::Projection_transformation> const&, Esri_runtimecore::Geometry::Progress_tracker*) + 81
    frame #12: 0x0000000113135286 ArcGIS`Esri_runtimecore::Mapping::project(std::__1::shared_ptr<Esri_runtimecore::Geometry::Spatial_reference> const&, Esri_runtimecore::Geometry::Map_geometry const&, bool) + 828
    frame #13: 0x00000001131355d8 ArcGIS`Esri_runtimecore::Mapping::try_project(std::__1::shared_ptr<Esri_runtimecore::Geometry::Spatial_reference> const&, Esri_runtimecore::Geometry::Map_geometry const&, bool) + 122
    frame #14: 0x0000000112ae5f56 ArcGIS`Esri_runtimecore::Mapping::Attribution_query::load_info_for_layer_(Esri_runtimecore::Mapping::Visitor_ptr<Esri_runtimecore::Mapping::Layer> const&, std::__1::vector<Esri_runtimecore::ArcGIS_rest::Attribution_contributor, std::__1::allocator<Esri_runtimecore::ArcGIS_rest::Attribution_contributor> >, pplx::cancellation_token const&) + 502
    frame #15: 0x0000000112aea6f3 ArcGIS`std::__1::__function::__func<Esri_runtimecore::Mapping::Attribution_query::request_data_for_source_(Esri_runtimecore::Mapping::Visitor_ptr<Esri_runtimecore::Mapping::Data_source>&, Esri_runtimecore::Mapping::Visitor_ptr<Esri_runtimecore::Mapping::Layer> const&)::$_8, std::__1::allocator<Esri_runtimecore::Mapping::Attribution_query::request_data_for_source_(Esri_runtimecore::Mapping::Visitor_ptr<Esri_runtimecore::Mapping::Data_source>&, Esri_runtimecore::Mapping::Visitor_ptr<Esri_runtimecore::Mapping::Layer> const&)::$_8>, void (Esri_runtimecore::Mapping::Loadable const&, Esri_runtimecore::Mapping::Load_status)>::operator()(Esri_runtimecore::Mapping::Loadable const&, Esri_runtimecore::Mapping::Load_status&&) + 221
    frame #16: 0x0000000112eae6ee ArcGIS`std::__1::function<void (Esri_runtimecore::Mapping::Loadable const&, Esri_runtimecore::Mapping::Load_status)>::operator()(Esri_runtimecore::Mapping::Loadable const&, Esri_runtimecore::Mapping::Load_status) const + 30
    frame #17: 0x0000000112eae574 ArcGIS`Esri_runtimecore::Common::Signal<Esri_runtimecore::Mapping::Loadable const, Esri_runtimecore::Mapping::Load_status>::operator()(Esri_runtimecore::Mapping::Loadable const&, Esri_runtimecore::Mapping::Load_status) const + 182
    frame #18: 0x0000000112e8f4a6 ArcGIS`Esri_runtimecore::Mapping::Loadable::set_load_status_and_error_without_check_(Esri_runtimecore::Mapping::Load_status, Esri_runtimecore::Mapping::Error const&) + 182
    frame #19: 0x0000000112ae9e3b ArcGIS`Esri_runtimecore::Mapping::Service_info_loader<Esri_runtimecore::Mapping::ArcGIS_map_service_attribution_info>::from_JSON_string_(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) + 241
    frame #20: 0x0000000112ae9515 ArcGIS`Esri_runtimecore::Mapping::Service_info_loader<Esri_runtimecore::Mapping::ArcGIS_map_service_attribution_info>::handle_response_(std::__1::shared_ptr<Esri_runtimecore::Mapping::Request> const&, unsigned char const*, unsigned long, std::__1::shared_ptr<Esri_runtimecore::Common::Client_reference> const&) + 375
    frame #21: 0x000000011319d2c9 ArcGIS`Esri_runtimecore::Mapping::Request_delegator::handle_response(unsigned long long, unsigned char const*, unsigned long, std::__1::shared_ptr<Esri_runtimecore::Common::Client_reference> const&) + 397
    frame #22: 0x000000011319a80b ArcGIS`Esri_runtimecore::Mapping::Request::handle_response(unsigned char const*, unsigned long, std::__1::shared_ptr<Esri_runtimecore::Common::Client_reference> const&) + 113
    frame #23: 0x00000001129648e8 ArcGIS`RT_Request_handleResponse + 189
    frame #24: 0x000000011255ec53 ArcGIS`-[RTCRequest handleResponse:userDefinedError:error:] + 231
    frame #25: 0x0000000112669925 ArcGIS`__71+[AGSRTCRequestDispatcher ags_kickOffCoreRequest:forRequestDispatcher:]_block_invoke.187 + 1420
    frame #26: 0x000000011268fcc9 ArcGIS`__38-[AGSObservableOperation didComplete:]_block_invoke + 325
    frame #27: 0x000000011251370c ArcGIS`ags_runWithMainThread + 66
    frame #28: 0x000000011268fb62 ArcGIS`-[AGSObservableOperation didComplete:] + 264
    frame #29: 0x00000001125abcf4 ArcGIS`-[AGSRequestOperation didComplete:] + 370
    frame #30: 0x000000011268f9b1 ArcGIS`-[AGSObservableOperation finishWithResult:error:] + 132
    frame #31: 0x00000001125afa1a ArcGIS`-[AGSRequestOperation finishWithResult:error:] + 773
    frame #32: 0x00000001125ad5ec ArcGIS`-[AGSRequestOperation requestOperationDidFinishLoading] + 595
    frame #33: 0x00000001125acd50 ArcGIS`-[AGSRequestOperation handleRequestCompletionWithError:] + 187
    frame #34: 0x000000011a7d35d1 libdispatch.dylib`_dispatch_call_block_and_release + 12
    frame #35: 0x000000011a7d463e libdispatch.dylib`_dispatch_client_callout + 8
    frame #36: 0x000000011a7dbb47 libdispatch.dylib`_dispatch_lane_serial_drain + 791
    frame #37: 0x000000011a7dc7c0 libdispatch.dylib`_dispatch_lane_invoke + 428
    frame #38: 0x000000011a7e68b8 libdispatch.dylib`_dispatch_workloop_worker_thread + 733
    frame #39: 0x000000011abc361c libsystem_pthread.dylib`_pthread_wqthread + 409
    frame #40: 0x000000011abc3415 libsystem_pthread.dylib`start_wqthread + 13
  thread #11, queue = 'com.esri.arcgis.demultiplexer.serial'
    frame #0: 0x000000011a8d5884 libsystem_blocks.dylib`_Block_copy + 38
    frame #1: 0x000000010fa811ad libobjc.A.dylib`objc_setProperty_atomic_copy + 50
    frame #2: 0x000000011980cdbf CFNetwork`-[__NSURLSessionLocal taskForClass:request:uploadFile:bodyData:completion:] + 609
    frame #3: 0x000000011980dd11 CFNetwork`-[__NSURLSessionLocal dataTaskForRequest:completion:] + 77
    frame #4: 0x000000011249fd77 ArcGIS`__60-[AGSNSURLSessionDemultiplexer dataTaskForDelegate:request:]_block_invoke + 53
    frame #5: 0x000000011a7d463e libdispatch.dylib`_dispatch_client_callout + 8
    frame #6: 0x000000011a7e268f libdispatch.dylib`_dispatch_lane_barrier_sync_invoke_and_complete + 132
    frame #7: 0x000000011249fcc1 ArcGIS`-[AGSNSURLSessionDemultiplexer dataTaskForDelegate:request:] + 224
    frame #8: 0x00000001125ab202 ArcGIS`-[AGSRequestOperation kickoffConnection] + 2227
    frame #9: 0x00000001125a40b0 ArcGIS`-[AGSOperationQueue __kickoffOperation:] + 240
    frame #10: 0x00000001125a41e1 ArcGIS`-[AGSOperationQueue __checkRunningQueueCapacity] + 233
    frame #11: 0x000000011a7d35d1 libdispatch.dylib`_dispatch_call_block_and_release + 12
    frame #12: 0x000000011a7d463e libdispatch.dylib`_dispatch_client_callout + 8
    frame #13: 0x000000011a7dbb47 libdispatch.dylib`_dispatch_lane_serial_drain + 791
    frame #14: 0x000000011a7dc7c0 libdispatch.dylib`_dispatch_lane_invoke + 428
    frame #15: 0x000000011a7e68b8 libdispatch.dylib`_dispatch_workloop_worker_thread + 733
    frame #16: 0x000000011abc361c libsystem_pthread.dylib`_pthread_wqthread + 409
    frame #17: 0x000000011abc3415 libsystem_pthread.dylib`start_wqthread + 13
  thread #12
    frame #0: 0x000000011ab711b2 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x000000011abc75cb libsystem_pthread.dylib`_pthread_cond_wait + 724
    frame #2: 0x000000011a36278a libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
    frame #3: 0x00000001142f9435 ArcGIS`Esri_runtimecore::Common::Condition::wait() + 59
    frame #4: 0x00000001142f936d ArcGIS`Esri_runtimecore::Common::Thread::thread_proc(Esri_runtimecore::Common::Thread*) + 59
    frame #5: 0x00000001142fae7e ArcGIS`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(Esri_runtimecore::Common::Thread*), Esri_runtimecore::Common::Thread*> >(void*) + 44
    frame #6: 0x000000011abc433d libsystem_pthread.dylib`_pthread_body + 126
    frame #7: 0x000000011abc72a7 libsystem_pthread.dylib`_pthread_start + 70
    frame #8: 0x000000011abc3425 libsystem_pthread.dylib`thread_start + 13
  thread #13
    frame #0: 0x000000011ab711b2 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x000000011abc75cb libsystem_pthread.dylib`_pthread_cond_wait + 724
    frame #2: 0x000000011a36278a libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
    frame #3: 0x00000001142f9435 ArcGIS`Esri_runtimecore::Common::Condition::wait() + 59
    frame #4: 0x00000001142f936d ArcGIS`Esri_runtimecore::Common::Thread::thread_proc(Esri_runtimecore::Common::Thread*) + 59
    frame #5: 0x00000001142fae7e ArcGIS`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(Esri_runtimecore::Common::Thread*), Esri_runtimecore::Common::Thread*> >(void*) + 44
    frame #6: 0x000000011abc433d libsystem_pthread.dylib`_pthread_body + 126
    frame #7: 0x000000011abc72a7 libsystem_pthread.dylib`_pthread_start + 70
    frame #8: 0x000000011abc3425 libsystem_pthread.dylib`thread_start + 13
  thread #14
    frame #0: 0x000000011ab711b2 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x000000011abc75cb libsystem_pthread.dylib`_pthread_cond_wait + 724
    frame #2: 0x000000011a36278a libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
    frame #3: 0x00000001142f9435 ArcGIS`Esri_runtimecore::Common::Condition::wait() + 59
    frame #4: 0x00000001142f936d ArcGIS`Esri_runtimecore::Common::Thread::thread_proc(Esri_runtimecore::Common::Thread*) + 59
    frame #5: 0x00000001142fae7e ArcGIS`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(Esri_runtimecore::Common::Thread*), Esri_runtimecore::Common::Thread*> >(void*) + 44
    frame #6: 0x000000011abc433d libsystem_pthread.dylib`_pthread_body + 126
    frame #7: 0x000000011abc72a7 libsystem_pthread.dylib`_pthread_start + 70
    frame #8: 0x000000011abc3425 libsystem_pthread.dylib`thread_start + 13
  thread #15
    frame #0: 0x000000011ab711b2 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x000000011abc75cb libsystem_pthread.dylib`_pthread_cond_wait + 724
    frame #2: 0x000000011a36278a libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
    frame #3: 0x00000001142f9435 ArcGIS`Esri_runtimecore::Common::Condition::wait() + 59
    frame #4: 0x00000001142f936d ArcGIS`Esri_runtimecore::Common::Thread::thread_proc(Esri_runtimecore::Common::Thread*) + 59
    frame #5: 0x00000001142fae7e ArcGIS`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(Esri_runtimecore::Common::Thread*), Esri_runtimecore::Common::Thread*> >(void*) + 44
    frame #6: 0x000000011abc433d libsystem_pthread.dylib`_pthread_body + 126
    frame #7: 0x000000011abc72a7 libsystem_pthread.dylib`_pthread_start + 70
    frame #8: 0x000000011abc3425 libsystem_pthread.dylib`thread_start + 13
  thread #16
    frame #0: 0x000000011ab711b2 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x000000011abc75cb libsystem_pthread.dylib`_pthread_cond_wait + 724
    frame #2: 0x000000011a36278a libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
    frame #3: 0x00000001142f9435 ArcGIS`Esri_runtimecore::Common::Condition::wait() + 59
    frame #4: 0x00000001142f936d ArcGIS`Esri_runtimecore::Common::Thread::thread_proc(Esri_runtimecore::Common::Thread*) + 59
    frame #5: 0x00000001142fae7e ArcGIS`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(Esri_runtimecore::Common::Thread*), Esri_runtimecore::Common::Thread*> >(void*) + 44
    frame #6: 0x000000011abc433d libsystem_pthread.dylib`_pthread_body + 126
    frame #7: 0x000000011abc72a7 libsystem_pthread.dylib`_pthread_start + 70
    frame #8: 0x000000011abc3425 libsystem_pthread.dylib`thread_start + 13
  thread #17
    frame #0: 0x000000011ab711b2 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x000000011abc75cb libsystem_pthread.dylib`_pthread_cond_wait + 724
    frame #2: 0x000000011a36278a libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
    frame #3: 0x00000001142f9435 ArcGIS`Esri_runtimecore::Common::Condition::wait() + 59
    frame #4: 0x00000001142f936d ArcGIS`Esri_runtimecore::Common::Thread::thread_proc(Esri_runtimecore::Common::Thread*) + 59
    frame #5: 0x00000001142fae7e ArcGIS`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(Esri_runtimecore::Common::Thread*), Esri_runtimecore::Common::Thread*> >(void*) + 44
    frame #6: 0x000000011abc433d libsystem_pthread.dylib`_pthread_body + 126
    frame #7: 0x000000011abc72a7 libsystem_pthread.dylib`_pthread_start + 70
    frame #8: 0x000000011abc3425 libsystem_pthread.dylib`thread_start + 13
  thread #18
    frame #0: 0x000000011ab711b2 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x000000011abc75cb libsystem_pthread.dylib`_pthread_cond_wait + 724
    frame #2: 0x000000011a36278a libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
    frame #3: 0x00000001142f9435 ArcGIS`Esri_runtimecore::Common::Condition::wait() + 59
    frame #4: 0x00000001142f936d ArcGIS`Esri_runtimecore::Common::Thread::thread_proc(Esri_runtimecore::Common::Thread*) + 59
    frame #5: 0x00000001142fae7e ArcGIS`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(Esri_runtimecore::Common::Thread*), Esri_runtimecore::Common::Thread*> >(void*) + 44
    frame #6: 0x000000011abc433d libsystem_pthread.dylib`_pthread_body + 126
    frame #7: 0x000000011abc72a7 libsystem_pthread.dylib`_pthread_start + 70
    frame #8: 0x000000011abc3425 libsystem_pthread.dylib`thread_start + 13
  thread #19
    frame #0: 0x000000011ab711b2 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x000000011abc75cb libsystem_pthread.dylib`_pthread_cond_wait + 724
    frame #2: 0x000000011a36278a libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
    frame #3: 0x00000001142f9435 ArcGIS`Esri_runtimecore::Common::Condition::wait() + 59
    frame #4: 0x00000001142f936d ArcGIS`Esri_runtimecore::Common::Thread::thread_proc(Esri_runtimecore::Common::Thread*) + 59
    frame #5: 0x00000001142fae7e ArcGIS`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(Esri_runtimecore::Common::Thread*), Esri_runtimecore::Common::Thread*> >(void*) + 44
    frame #6: 0x000000011abc433d libsystem_pthread.dylib`_pthread_body + 126
    frame #7: 0x000000011abc72a7 libsystem_pthread.dylib`_pthread_start + 70
    frame #8: 0x000000011abc3425 libsystem_pthread.dylib`thread_start + 13
  thread #20
    frame #0: 0x000000011ab711b2 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x000000011abc75cb libsystem_pthread.dylib`_pthread_cond_wait + 724
    frame #2: 0x000000011a36278a libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
    frame #3: 0x00000001142f9435 ArcGIS`Esri_runtimecore::Common::Condition::wait() + 59
    frame #4: 0x00000001142f936d ArcGIS`Esri_runtimecore::Common::Thread::thread_proc(Esri_runtimecore::Common::Thread*) + 59
    frame #5: 0x00000001142fae7e ArcGIS`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(Esri_runtimecore::Common::Thread*), Esri_runtimecore::Common::Thread*> >(void*) + 44
    frame #6: 0x000000011abc433d libsystem_pthread.dylib`_pthread_body + 126
    frame #7: 0x000000011abc72a7 libsystem_pthread.dylib`_pthread_start + 70
    frame #8: 0x000000011abc3425 libsystem_pthread.dylib`thread_start + 13
  thread #21
    frame #0: 0x000000011ab6f5be libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x000000011abc3641 libsystem_pthread.dylib`_pthread_wqthread + 446
    frame #2: 0x000000011abc3415 libsystem_pthread.dylib`start_wqthread + 13
  thread #22, queue = 'com.apple.root.utility-qos'
    frame #0: 0x000000011abc2505 libsystem_pthread.dylib`pthread_mutex_unlock + 13
    frame #1: 0x0000000112ce5741 ArcGIS`pplx::scoped_lock<boost::mutex>::~scoped_lock() + 17
    frame #2: 0x0000000113a88784 ArcGIS`pplx::details::_Task_impl<unsigned char>::_FinalizeAndRunContinuations(unsigned char) + 68
    frame #3: 0x000000011349b9ab ArcGIS`pplx::details::_PPLTaskHandle<unsigned char, pplx::task<unsigned char>::_InitialTaskHandle<void, Esri_runtimecore::KML::Global_utils::threaded_node_load(std::__1::shared_ptr<Esri_runtimecore::KML::Named_node> const&)::$_0, pplx::details::_TypeSelectorNoAsync>, pplx::details::_TaskProcHandle>::invoke() const + 179
    frame #4: 0x0000000114a7e498 ArcGIS`pplx::details::_TaskProcHandle::_RunChoreBridge(void*) + 16
    frame #5: 0x00000001142e36b4 ArcGIS`Esri_runtimecore::Common::Core_scheduler::invoke_(Esri_runtimecore::Common::Core_scheduler::Queued_proc*) + 24
    frame #6: 0x00000001142e3626 ArcGIS`Esri_runtimecore::Common::Core_scheduler::Queued_proc::invoke() + 48
    frame #7: 0x00000001142e2db1 ArcGIS`Esri_runtimecore::Common::Core_scheduler::bridge_proc_(void*) + 23
    frame #8: 0x000000011a7d463e libdispatch.dylib`_dispatch_client_callout + 8
    frame #9: 0x000000011a7e5209 libdispatch.dylib`_dispatch_root_queue_drain + 832
    frame #10: 0x000000011a7e59cd libdispatch.dylib`_dispatch_worker_thread2 + 130
    frame #11: 0x000000011abc36ee libsystem_pthread.dylib`_pthread_wqthread + 619
    frame #12: 0x000000011abc3415 libsystem_pthread.dylib`start_wqthread + 13
  thread #23, queue = 'com.apple.root.utility-qos'
    frame #0: 0x000000011ab70872 libsystem_kernel.dylib`__psynch_mutexwait + 10
    frame #1: 0x000000011abc4da0 libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_wait + 96
    frame #2: 0x000000011abc24c7 libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_slow + 226
    frame #3: 0x000000011a3921ad libc++.1.dylib`std::__1::recursive_mutex::lock() + 9
    frame #4: 0x0000000112e2ecb9 ArcGIS`Esri_runtimecore::Common::Delegate<Esri_runtimecore::Mapping::Request_delegator, std::__1::shared_ptr<Esri_runtimecore::Mapping::Request> >::Implementation::has_connection() const + 25
    frame #5: 0x000000011319c71b ArcGIS`Esri_runtimecore::Mapping::Request_delegator::send_request(std::__1::weak_ptr<Esri_runtimecore::Mapping::Request_delegator> const&, std::__1::shared_ptr<Esri_runtimecore::Mapping::Request> const&) + 39
    frame #6: 0x0000000112dab1d9 ArcGIS`Esri_runtimecore::Mapping::KML_dataset::create_and_send_request_(std::__1::shared_ptr<Esri_runtimecore::KML::Http_fetch_request> const&) + 193
    frame #7: 0x0000000112db008f ArcGIS`Esri_runtimecore::Mapping::KML_http_fetch_callback::http_fetch_request(std::__1::shared_ptr<Esri_runtimecore::KML::Http_fetch_request> const&) + 61
    frame #8: 0x0000000113459171 ArcGIS`Esri_runtimecore::KML::KML_dataset::send_fetch_request_(std::__1::shared_ptr<Esri_runtimecore::KML::Http_fetch_request> const&) + 63
    frame #9: 0x000000011347cbbd ArcGIS`Esri_runtimecore::KML::Core_layer::send_fetch_request(std::__1::shared_ptr<Esri_runtimecore::KML::Core_fetch_request> const&) + 113
    frame #10: 0x00000001134d3567 ArcGIS`Esri_runtimecore::KML::Screen_overlay_node::download_file_() + 895
    frame #11: 0x000000011349bc99 ArcGIS`std::__1::__function::__func<Esri_runtimecore::KML::Global_utils::threaded_node_load(std::__1::shared_ptr<Esri_runtimecore::KML::Named_node> const&)::$_0, std::__1::allocator<Esri_runtimecore::KML::Global_utils::threaded_node_load(std::__1::shared_ptr<Esri_runtimecore::KML::Named_node> const&)::$_0>, void ()>::operator()() + 67
    frame #12: 0x0000000114a7e7f1 ArcGIS`std::__1::__function::__func<pplx::details::_MakeVoidToUnitFunc(std::__1::function<void ()> const&)::$_2, std::__1::allocator<pplx::details::_MakeVoidToUnitFunc(std::__1::function<void ()> const&)::$_2>, unsigned char ()>::operator()() + 13
    frame #13: 0x000000011349b9a0 ArcGIS`pplx::details::_PPLTaskHandle<unsigned char, pplx::task<unsigned char>::_InitialTaskHandle<void, Esri_runtimecore::KML::Global_utils::threaded_node_load(std::__1::shared_ptr<Esri_runtimecore::KML::Named_node> const&)::$_0, pplx::details::_TypeSelectorNoAsync>, pplx::details::_TaskProcHandle>::invoke() const + 168
    frame #14: 0x0000000114a7e498 ArcGIS`pplx::details::_TaskProcHandle::_RunChoreBridge(void*) + 16
    frame #15: 0x00000001142e36b4 ArcGIS`Esri_runtimecore::Common::Core_scheduler::invoke_(Esri_runtimecore::Common::Core_scheduler::Queued_proc*) + 24
    frame #16: 0x00000001142e3626 ArcGIS`Esri_runtimecore::Common::Core_scheduler::Queued_proc::invoke() + 48
    frame #17: 0x00000001142e2db1 ArcGIS`Esri_runtimecore::Common::Core_scheduler::bridge_proc_(void*) + 23
    frame #18: 0x000000011a7d463e libdispatch.dylib`_dispatch_client_callout + 8
    frame #19: 0x000000011a7e5209 libdispatch.dylib`_dispatch_root_queue_drain + 832
    frame #20: 0x000000011a7e59cd libdispatch.dylib`_dispatch_worker_thread2 + 130
    frame #21: 0x000000011abc36ee libsystem_pthread.dylib`_pthread_wqthread + 619
    frame #22: 0x000000011abc3415 libsystem_pthread.dylib`start_wqthread + 13
  thread #24, queue = 'com.esri.arcgis.requestOperation.data'
    frame #0: 0x00000001140cb8db ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 35
    frame #1: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #2: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #3: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #4: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #5: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #6: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #7: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #8: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #9: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #10: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #11: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #12: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #13: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #14: 0x00000001140cb8fb ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::parse_node_(unsigned char const*&) + 67
    frame #15: 0x00000001140cb766 ArcGIS`Esri_runtimecore::Vector_tiles::Tile_key_index::import(unsigned char const*, unsigned long) + 428
    frame #16: 0x00000001140ce45f ArcGIS`std::__1::__function::__func<Esri_runtimecore::Vector_tiles::Tile_map::load_index(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::function<unsigned long long (Esri_runtimecore::Vector_tiles::Request, std::__1::function<void (Esri_runtimecore::Vector_tiles::Response)>)> const&, std::__1::function<void (bool)> const&, void*)::$_0, std::__1::allocator<Esri_runtimecore::Vector_tiles::Tile_map::load_index(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::function<unsigned long long (Esri_runtimecore::Vector_tiles::Request, std::__1::function<void (Esri_runtimecore::Vector_tiles::Response)>)> const&, std::__1::function<void (bool)> const&, void*)::$_0>, void (Esri_runtimecore::Vector_tiles::Response)>::operator()(Esri_runtimecore::Vector_tiles::Response&&) + 89
    frame #17: 0x0000000112e5b119 ArcGIS`Esri_runtimecore::Mapping::Vector_tile_service_request::handle_response_callback(unsigned char const*, unsigned long, std::__1::shared_ptr<Esri_runtimecore::Common::Client_reference> const&) const + 207
    frame #18: 0x0000000112e5aef2 ArcGIS`Esri_runtimecore::Mapping::Vector_tile_source_info::handle_response_(std::__1::shared_ptr<Esri_runtimecore::Mapping::Request> const&, unsigned char const*, unsigned long, std::__1::shared_ptr<Esri_runtimecore::Common::Client_reference> const&) + 244
    frame #19: 0x000000011319d2c9 ArcGIS`Esri_runtimecore::Mapping::Request_delegator::handle_response(unsigned long long, unsigned char const*, unsigned long, std::__1::shared_ptr<Esri_runtimecore::Common::Client_reference> const&) + 397
    frame #20: 0x000000011319a80b ArcGIS`Esri_runtimecore::Mapping::Request::handle_response(unsigned char const*, unsigned long, std::__1::shared_ptr<Esri_runtimecore::Common::Client_reference> const&) + 113
    frame #21: 0x00000001129648e8 ArcGIS`RT_Request_handleResponse + 189
    frame #22: 0x000000011255ec53 ArcGIS`-[RTCRequest handleResponse:userDefinedError:error:] + 231
    frame #23: 0x0000000112669925 ArcGIS`__71+[AGSRTCRequestDispatcher ags_kickOffCoreRequest:forRequestDispatcher:]_block_invoke.187 + 1420
    frame #24: 0x000000011268fcc9 ArcGIS`__38-[AGSObservableOperation didComplete:]_block_invoke + 325
    frame #25: 0x000000011251370c ArcGIS`ags_runWithMainThread + 66
    frame #26: 0x000000011268fb62 ArcGIS`-[AGSObservableOperation didComplete:] + 264
    frame #27: 0x00000001125abcf4 ArcGIS`-[AGSRequestOperation didComplete:] + 370
    frame #28: 0x000000011268f9b1 ArcGIS`-[AGSObservableOperation finishWithResult:error:] + 132
    frame #29: 0x00000001125afa1a ArcGIS`-[AGSRequestOperation finishWithResult:error:] + 773
    frame #30: 0x00000001125ad5ec ArcGIS`-[AGSRequestOperation requestOperationDidFinishLoading] + 595
    frame #31: 0x00000001125acd50 ArcGIS`-[AGSRequestOperation handleRequestCompletionWithError:] + 187
    frame #32: 0x000000011a7d35d1 libdispatch.dylib`_dispatch_call_block_and_release + 12
    frame #33: 0x000000011a7d463e libdispatch.dylib`_dispatch_client_callout + 8
    frame #34: 0x000000011a7dbb47 libdispatch.dylib`_dispatch_lane_serial_drain + 791
    frame #35: 0x000000011a7dc7c0 libdispatch.dylib`_dispatch_lane_invoke + 428
    frame #36: 0x000000011a7e68b8 libdispatch.dylib`_dispatch_workloop_worker_thread + 733
    frame #37: 0x000000011abc361c libsystem_pthread.dylib`_pthread_wqthread + 409
    frame #38: 0x000000011abc3415 libsystem_pthread.dylib`start_wqthread + 13
  thread #25
    frame #0: 0x000000011ab711b2 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x000000011abc75cb libsystem_pthread.dylib`_pthread_cond_wait + 724
    frame #2: 0x000000011a362821 libc++.1.dylib`std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 93
    frame #3: 0x000000011398ed8d ArcGIS`std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&) + 117
    frame #4: 0x00000001142e351c ArcGIS`bool std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> >, Esri_runtimecore::Common::Monitor_thread::start(std::__1::function<std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> > ()> const&)::'lambda'()::operator()() const::'lambda'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&, Esri_runtimecore::Common::Monitor_thread::start(std::__1::function<std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> > ()> const&)::'lambda'()::operator()() const::'lambda'()) + 88
    frame #5: 0x00000001142e33c3 ArcGIS`Esri_runtimecore::Common::Monitor_thread::start(std::__1::function<std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> > ()> const&)::'lambda'()::operator()() const + 155
    frame #6: 0x00000001142e326b ArcGIS`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Esri_runtimecore::Common::Monitor_thread::start(std::__1::function<std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> > ()> const&)::'lambda'()> >(void*) + 48
    frame #7: 0x000000011abc433d libsystem_pthread.dylib`_pthread_body + 126
    frame #8: 0x000000011abc72a7 libsystem_pthread.dylib`_pthread_start + 70
    frame #9: 0x000000011abc3425 libsystem_pthread.dylib`thread_start + 13
* thread #26, queue = 'com.apple.root.utility-qos', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
  * frame #0: 0x0000000113440640 ArcGIS`Esri_runtimecore::KML::String::get_length() const + 12
    frame #1: 0x00000001134c58e3 ArcGIS`Esri_runtimecore::KML::Parser::convert_http_to_node_fetch(Esri_runtimecore::KML::String const&) + 701
    frame #2: 0x00000001134beb60 ArcGIS`Esri_runtimecore::KML::Network_link_node::download_network_data_() + 384
    frame #3: 0x000000011349bc99 ArcGIS`std::__1::__function::__func<Esri_runtimecore::KML::Global_utils::threaded_node_load(std::__1::shared_ptr<Esri_runtimecore::KML::Named_node> const&)::$_0, std::__1::allocator<Esri_runtimecore::KML::Global_utils::threaded_node_load(std::__1::shared_ptr<Esri_runtimecore::KML::Named_node> const&)::$_0>, void ()>::operator()() + 67
    frame #4: 0x0000000114a7e7f1 ArcGIS`std::__1::__function::__func<pplx::details::_MakeVoidToUnitFunc(std::__1::function<void ()> const&)::$_2, std::__1::allocator<pplx::details::_MakeVoidToUnitFunc(std::__1::function<void ()> const&)::$_2>, unsigned char ()>::operator()() + 13
    frame #5: 0x000000011349b9a0 ArcGIS`pplx::details::_PPLTaskHandle<unsigned char, pplx::task<unsigned char>::_InitialTaskHandle<void, Esri_runtimecore::KML::Global_utils::threaded_node_load(std::__1::shared_ptr<Esri_runtimecore::KML::Named_node> const&)::$_0, pplx::details::_TypeSelectorNoAsync>, pplx::details::_TaskProcHandle>::invoke() const + 168
    frame #6: 0x0000000114a7e498 ArcGIS`pplx::details::_TaskProcHandle::_RunChoreBridge(void*) + 16
    frame #7: 0x00000001142e36b4 ArcGIS`Esri_runtimecore::Common::Core_scheduler::invoke_(Esri_runtimecore::Common::Core_scheduler::Queued_proc*) + 24
    frame #8: 0x00000001142e3626 ArcGIS`Esri_runtimecore::Common::Core_scheduler::Queued_proc::invoke() + 48
    frame #9: 0x00000001142e2db1 ArcGIS`Esri_runtimecore::Common::Core_scheduler::bridge_proc_(void*) + 23
    frame #10: 0x000000011a7d463e libdispatch.dylib`_dispatch_client_callout + 8
    frame #11: 0x000000011a7e5209 libdispatch.dylib`_dispatch_root_queue_drain + 832
    frame #12: 0x000000011a7e59cd libdispatch.dylib`_dispatch_worker_thread2 + 130
    frame #13: 0x000000011abc36ee libsystem_pthread.dylib`_pthread_wqthread + 619
    frame #14: 0x000000011abc3415 libsystem_pthread.dylib`start_wqthread + 13
  thread #27
    frame #0: 0x000000011ab6f5be libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x000000011abc3641 libsystem_pthread.dylib`_pthread_wqthread + 446
    frame #2: 0x000000011abc3415 libsystem_pthread.dylib`start_wqthread + 13
  thread #28, queue = 'com.esri.arcgis.requestOperation.data'
    frame #0: 0x00000001141e180f ArcGIS`Esri_runtimecore::Geometry::Multi_vertex_geometry_impl::set_xy(long long, double, double) + 63
    frame #1: 0x00000001141d4908 ArcGIS`Esri_runtimecore::Geometry::Multi_path_impl::line_to(double, double) + 102
    frame #2: 0x0000000114146113 ArcGIS`Esri_runtimecore::Geometry::Densificator::Impl::densify_multi_path_linear(std::__1::shared_ptr<Esri_runtimecore::Geometry::Multi_path> const&) + 931
    frame #3: 0x0000000114145b46 ArcGIS`Esri_runtimecore::Geometry::Densificator::Impl::densify_multi_path(std::__1::shared_ptr<Esri_runtimecore::Geometry::Multi_path> const&) + 74
    frame #4: 0x0000000114145a39 ArcGIS`Esri_runtimecore::Geometry::Densificator::Impl::densify_envelope(std::__1::shared_ptr<Esri_runtimecore::Geometry::Envelope> const&) + 199
    frame #5: 0x0000000114147928 ArcGIS`Esri_runtimecore::Geometry::Densificator::Impl::densify(std::__1::shared_ptr<Esri_runtimecore::Geometry::Geometry> const&) + 274
    frame #6: 0x00000001141476fc ArcGIS`Esri_runtimecore::Geometry::Densificator::densify(std::__1::shared_ptr<Esri_runtimecore::Geometry::Geometry> const&, double, double, double, Esri_runtimecore::Geometry::Progress_tracker*) + 166
    frame #7: 0x00000001141ea622 ArcGIS`Esri_runtimecore::Geometry::Operator_densify::execute(std::__1::shared_ptr<Esri_runtimecore::Geometry::Geometry> const&, double, double, double, Esri_runtimecore::Geometry::Progress_tracker*) + 20
    frame #8: 0x00000001141ea50f ArcGIS`Esri_runtimecore::Geometry::Operator_densify_by_length::execute(std::__1::shared_ptr<Esri_runtimecore::Geometry::Geometry> const&, double, Esri_runtimecore::Geometry::Progress_tracker*) + 161
    frame #9: 0x00000001141c5707 ArcGIS`Esri_runtimecore::Geometry::Legacy_project::project_envelope_helper_(Esri_runtimecore::Geometry::Envelope const&, Esri_runtimecore::Geometry::Progress_tracker*) + 205
    frame #10: 0x00000001141c4304 ArcGIS`Esri_runtimecore::Geometry::Legacy_project::project_envelope_(Esri_runtimecore::Geometry::Envelope const&, Esri_runtimecore::Geometry::Progress_tracker*) + 444
    frame #11: 0x00000001141c2e20 ArcGIS`Esri_runtimecore::Geometry::Legacy_project::project(std::__1::shared_ptr<Esri_runtimecore::Geometry::Geometry> const&, Esri_runtimecore::Geometry::Progress_tracker*) + 748
    frame #12: 0x00000001141c2b2a ArcGIS`Esri_runtimecore::Geometry::Legacy_project::project(std::__1::shared_ptr<Esri_runtimecore::Geometry::Geometry> const&, Esri_runtimecore::Geometry::Projection_transformation const&, Esri_runtimecore::Geometry::Progress_tracker*) + 24
    frame #13: 0x0000000114233db7 ArcGIS`Esri_runtimecore::Geometry::Operator_project_local::execute(std::__1::shared_ptr<Esri_runtimecore::Geometry::Geometry> const&, std::__1::shared_ptr<Esri_runtimecore::Geometry::Projection_transformation> const&, Esri_runtimecore::Geometry::Progress_tracker*) + 81
    frame #14: 0x0000000113135286 ArcGIS`Esri_runtimecore::Mapping::project(std::__1::shared_ptr<Esri_runtimecore::Geometry::Spatial_reference> const&, Esri_runtimecore::Geometry::Map_geometry const&, bool) + 828
    frame #15: 0x00000001131355d8 ArcGIS`Esri_runtimecore::Mapping::try_project(std::__1::shared_ptr<Esri_runtimecore::Geometry::Spatial_reference> const&, Esri_runtimecore::Geometry::Map_geometry const&, bool) + 122
    frame #16: 0x0000000112ae5f56 ArcGIS`Esri_runtimecore::Mapping::Attribution_query::load_info_for_layer_(Esri_runtimecore::Mapping::Visitor_ptr<Esri_runtimecore::Mapping::Layer> const&, std::__1::vector<Esri_runtimecore::ArcGIS_rest::Attribution_contributor, std::__1::allocator<Esri_runtimecore::ArcGIS_rest::Attribution_contributor> >, pplx::cancellation_token const&) + 502
    frame #17: 0x0000000112aea6f3 ArcGIS`std::__1::__function::__func<Esri_runtimecore::Mapping::Attribution_query::request_data_for_source_(Esri_runtimecore::Mapping::Visitor_ptr<Esri_runtimecore::Mapping::Data_source>&, Esri_runtimecore::Mapping::Visitor_ptr<Esri_runtimecore::Mapping::Layer> const&)::$_8, std::__1::allocator<Esri_runtimecore::Mapping::Attribution_query::request_data_for_source_(Esri_runtimecore::Mapping::Visitor_ptr<Esri_runtimecore::Mapping::Data_source>&, Esri_runtimecore::Mapping::Visitor_ptr<Esri_runtimecore::Mapping::Layer> const&)::$_8>, void (Esri_runtimecore::Mapping::Loadable const&, Esri_runtimecore::Mapping::Load_status)>::operator()(Esri_runtimecore::Mapping::Loadable const&, Esri_runtimecore::Mapping::Load_status&&) + 221
    frame #18: 0x0000000112eae6ee ArcGIS`std::__1::function<void (Esri_runtimecore::Mapping::Loadable const&, Esri_runtimecore::Mapping::Load_status)>::operator()(Esri_runtimecore::Mapping::Loadable const&, Esri_runtimecore::Mapping::Load_status) const + 30
    frame #19: 0x0000000112eae574 ArcGIS`Esri_runtimecore::Common::Signal<Esri_runtimecore::Mapping::Loadable const, Esri_runtimecore::Mapping::Load_status>::operator()(Esri_runtimecore::Mapping::Loadable const&, Esri_runtimecore::Mapping::Load_status) const + 182
    frame #20: 0x0000000112e8f4a6 ArcGIS`Esri_runtimecore::Mapping::Loadable::set_load_status_and_error_without_check_(Esri_runtimecore::Mapping::Load_status, Esri_runtimecore::Mapping::Error const&) + 182
    frame #21: 0x0000000112ae9e3b ArcGIS`Esri_runtimecore::Mapping::Service_info_loader<Esri_runtimecore::Mapping::ArcGIS_map_service_attribution_info>::from_JSON_string_(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) + 241
    frame #22: 0x0000000112ae9515 ArcGIS`Esri_runtimecore::Mapping::Service_info_loader<Esri_runtimecore::Mapping::ArcGIS_map_service_attribution_info>::handle_response_(std::__1::shared_ptr<Esri_runtimecore::Mapping::Request> const&, unsigned char const*, unsigned long, std::__1::shared_ptr<Esri_runtimecore::Common::Client_reference> const&) + 375
    frame #23: 0x000000011319d2c9 ArcGIS`Esri_runtimecore::Mapping::Request_delegator::handle_response(unsigned long long, unsigned char const*, unsigned long, std::__1::shared_ptr<Esri_runtimecore::Common::Client_reference> const&) + 397
    frame #24: 0x000000011319a80b ArcGIS`Esri_runtimecore::Mapping::Request::handle_response(unsigned char const*, unsigned long, std::__1::shared_ptr<Esri_runtimecore::Common::Client_reference> const&) + 113
    frame #25: 0x00000001129648e8 ArcGIS`RT_Request_handleResponse + 189
    frame #26: 0x000000011255ec53 ArcGIS`-[RTCRequest handleResponse:userDefinedError:error:] + 231
    frame #27: 0x0000000112669925 ArcGIS`__71+[AGSRTCRequestDispatcher ags_kickOffCoreRequest:forRequestDispatcher:]_block_invoke.187 + 1420
    frame #28: 0x000000011268fcc9 ArcGIS`__38-[AGSObservableOperation didComplete:]_block_invoke + 325
    frame #29: 0x000000011251370c ArcGIS`ags_runWithMainThread + 66
    frame #30: 0x000000011268fb62 ArcGIS`-[AGSObservableOperation didComplete:] + 264
    frame #31: 0x00000001125abcf4 ArcGIS`-[AGSRequestOperation didComplete:] + 370
    frame #32: 0x000000011268f9b1 ArcGIS`-[AGSObservableOperation finishWithResult:error:] + 132
    frame #33: 0x00000001125afa1a ArcGIS`-[AGSRequestOperation finishWithResult:error:] + 773
    frame #34: 0x00000001125ad5ec ArcGIS`-[AGSRequestOperation requestOperationDidFinishLoading] + 595
    frame #35: 0x00000001125acd50 ArcGIS`-[AGSRequestOperation handleRequestCompletionWithError:] + 187
    frame #36: 0x000000011a7d35d1 libdispatch.dylib`_dispatch_call_block_and_release + 12
    frame #37: 0x000000011a7d463e libdispatch.dylib`_dispatch_client_callout + 8
    frame #38: 0x000000011a7dbb47 libdispatch.dylib`_dispatch_lane_serial_drain + 791
    frame #39: 0x000000011a7dc7c0 libdispatch.dylib`_dispatch_lane_invoke + 428
    frame #40: 0x000000011a7e68b8 libdispatch.dylib`_dispatch_workloop_worker_thread + 733
    frame #41: 0x000000011abc361c libsystem_pthread.dylib`_pthread_wqthread + 409
    frame #42: 0x000000011abc3415 libsystem_pthread.dylib`start_wqthread + 13

Copy link
Contributor

@qsmmorgan qsmmorgan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note on the image: it would be nice to show the map with actual data and a callout, but not many people see the image anyway.

Looks good overall! I added some minor feedback. The only thing I really think needs to be addressed somehow is the callout text size I mentioned earlier.

Copy link
Contributor

@saratchandrakarumuri saratchandrakarumuri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other than the comments made by @qsmmorgan regarding the image and the text size in the callout, sample is looking good and working as expected

@philium
Copy link
Contributor Author

philium commented Oct 2, 2018

it would be nice to show the map with actual data and a callout, but not many people see the image anyway.

@qsmmorgan I agree that it would be nice to show the callout. Unfortunately there were no weather events when I took the screenshot. I'll try again.

Copy link
Contributor

@qsmmorgan qsmmorgan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

@philium philium merged commit 66072d4 into v.next Oct 2, 2018
@philium philium deleted the philium/identify-kml-features branch October 2, 2018 22:46
philium added a commit to Esri/arcgis-runtime-samples-macos that referenced this pull request Oct 3, 2018
Adds the Identify KML Features sample.

Corresponding iOS PR: Esri/arcgis-runtime-samples-ios#498
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants