diff options
Diffstat (limited to 'platform/ios/src/MGLMapView.mm')
-rw-r--r-- | platform/ios/src/MGLMapView.mm | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/platform/ios/src/MGLMapView.mm b/platform/ios/src/MGLMapView.mm index d82b3cd22b..ab9f178380 100644 --- a/platform/ios/src/MGLMapView.mm +++ b/platform/ios/src/MGLMapView.mm @@ -6821,6 +6821,20 @@ public: void onDidFinishLoadingStyle() override { [nativeView didFinishLoadingStyle]; } + + void onStyleImageMissing(const std::string& imageIdentifier) override { + NSString *imageName = [NSString stringWithUTF8String:imageIdentifier.c_str()]; + + if ([nativeView.delegate respondsToSelector:@selector(mapView:didFailToLoadImage:)]) { + UIImage *imageToLoad = [nativeView.delegate mapView:nativeView didFailToLoadImage:imageName]; + + if (imageToLoad) { + auto image = [imageToLoad mgl_styleImageWithIdentifier:imageName]; + nativeView.mbglMap.getStyle().addImage(std::move(image)); + } + + } + } mbgl::gl::ProcAddress getExtensionFunctionPointer(const char* name) override { static CFBundleRef framework = CFBundleGetBundleWithIdentifier(CFSTR("com.apple.opengles")); |