Open
derklaro
opened this issue 2 years ago
•
13 comments
When running the plugin in a web environment on a mobile device, the following errors occur when opening any map for the first time:
main.dart.js:3055 Uncaught PlatformException(unregistered_view_type, A HtmlElementView widget is trying to create a platform view with an unregistered type: <osm_web_plugin_0>., If you are the author of the PlatformView, make sure `registerViewFactory` is invoked., null)
and (probably happening due to the first error):
main.dart.js:3055 Uncaught TypeError: Cannot read properties of null (reading 'firstChild')
at getIframe (map.js:216:58)
at setUpMap (map.js:205:22)
at main.dart.js:83168:34
at aui.a (main.dart.js:4358:62)
at aui.$2 (main.dart.js:35754:14)
at Object.M (main.dart.js:4344:10)
at vK.ago (main.dart.js:83200:10)
at vK.pj (main.dart.js:83165:21)
at main.dart.js:82873:14
at aui.a (main.dart.js:4358:62)
I also got the following error when using the HTML web renderer instead of canvaskit:
Unsupported operation: toImage is not supported on the Web
I tried, you're right there is issue to render the map on the web in mobile
I will check why this happen because in my example the main map not visible but when we open in dialog it works
I need to check the cause and see maybe flutter made changes how register a plugins in web
yes, I'm building with flutter build web --web-renderer canvaskit,
I did not observe any flickering yet - neither on mobile nor on a desktop web browser.
However, I did sometimes see issues when opening the map page for the first time, the content did not get drawn to it. When going back and opening again everything works as expected.
If needed I can link the page so you can try it out yourself.
Console log (hope the screenshot is ok), the site is available at https://web.bahnup.de - just search a german train station and click on the map icon:
thnx i will check why thats happen
but i like your project and if you want we can collaborate more to improve this library and also your application
feel free to request any feature wanted from our side
Error: PlatformException(unregistered_view_type, A HtmlElementView widget is trying to create a platform view with an unregistered type: <osm_web_plugin_4>., If you are the author of the PlatformView, make sure registerViewFactory is invoked., null)
dart-sdk/lib/internal/js_dev_runtime/private/ddc_runtime/errors.dart 288:49 throw
packages/flutter/src/services/message_codecs.dart 652:7 decodeEnvelope
packages/flutter/src/services/platform_channel.dart 310:18 _invokeMethod
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50
dart-sdk/lib/async/zone.dart 1661:54 runUnary
dart-sdk/lib/async/future_impl.dart 147:18 handleValue
dart-sdk/lib/async/future_impl.dart 784:44 handleValueCallback
dart-sdk/lib/async/future_impl.dart 813:13 _propagateToListeners
dart-sdk/lib/async/future_impl.dart 584:5 [_completeWithValue]
dart-sdk/lib/async/future_impl.dart 657:7 callback
dart-sdk/lib/async/schedule_microtask.dart 40:11 _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5 _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 177:15
TypeError: iframe.contentWindow.setDefaultIcon is not a function
packages/flutter_osm_web/src/asset/map.js 50:38 setDefaultIcon
packages/flutter_osm_web/src/mixin_web.dart 58:19 changeHomeIconMarker
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50
dart-sdk/lib/async/zone.dart 1661:54 runUnary
dart-sdk/lib/async/future_impl.dart 147:18 handleValue
dart-sdk/lib/async/future_impl.dart 784:44 handleValueCallback
dart-sdk/lib/async/future_impl.dart 813:13 _propagateToListeners
dart-sdk/lib/async/future_impl.dart 584:5 [_completeWithValue]
dart-sdk/lib/async/future_impl.dart 657:7 callback
dart-sdk/lib/async/schedule_microtask.dart 40:11 _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5 _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 177:15
TypeError: iframe.contentWindow.setUserLocationIconMarker is not a function
packages/flutter_osm_web/src/asset/map.js 141:32 setUserLocationIconMarker
packages/flutter_osm_web/src/controller/web_osm_controller.dart 362:15 customUserLocationMarker
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50
dart-sdk/lib/async/zone.dart 1661:54 runUnary
dart-sdk/lib/async/future_impl.dart 147:18 handleValue
dart-sdk/lib/async/future_impl.dart 784:44 handleValueCallback
dart-sdk/lib/async/future_impl.dart 813:13 _propagateToListeners
dart-sdk/lib/async/future_impl.dart 584:5 [_completeWithValue]
dart-sdk/lib/async/future_impl.dart 657:7 callback
dart-sdk/lib/async/schedule_microtask.dart 40:11 _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5 _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 177:15
TypeError: iframe.contentWindow.configInitZoomMap is not a function
packages/flutter_osm_web/src/asset/map.js 91:38 configZoom
packages/flutter_osm_web/src/mixin_web.dart 365:19 configureZoomMap
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54 runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5 _async
packages/flutter_osm_web/src/mixin_web.dart 359:32 configureZoomMap
packages/flutter_osm_web/src/controller/web_osm_controller.dart 195:11 initPositionMap
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50
dart-sdk/lib/async/zone.dart 1661:54 runUnary
dart-sdk/lib/async/future_impl.dart 147:18 handleValue
dart-sdk/lib/async/future_impl.dart 784:44 handleValueCallback
dart-sdk/lib/async/future_impl.dart 813:13 _propagateToListeners
dart-sdk/lib/async/future_impl.dart 584:5 [_completeWithValue]
dart-sdk/lib/async/future_impl.dart 657:7 callback
dart-sdk/lib/async/schedule_microtask.dart 40:11 _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5 _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 177:15
TypeError: iframe.contentWindow.initMapLocation is not a function
packages/flutter_osm_web/src/asset/map.js 45:31 initMapLocation
packages/flutter_osm_web/src/mixin_web.dart 24:35 initLocationMap
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54 runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5 _async
packages/flutter_osm_web/src/mixin_web.dart 23:31 initLocationMap
packages/flutter_osm_web/src/controller/web_osm_controller.dart 207:11 initPositionMap
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50
dart-sdk/lib/async/zone.dart 1661:54 runUnary
dart-sdk/lib/async/future_impl.dart 147:18 handleValue
dart-sdk/lib/async/future_impl.dart 784:44 handleValueCallback
dart-sdk/lib/async/future_impl.dart 813:13 _propagateToListeners
dart-sdk/lib/async/future_impl.dart 448:9 callback
dart-sdk/lib/async/schedule_microtask.dart 40:11 _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5 _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 177:15
TypeError: iframe.contentWindow.setDefaultIcon is not a function
packages/flutter_osm_web/src/asset/map.js 50:38 setDefaultIcon
packages/flutter_osm_web/src/mixin_web.dart 58:19 changeHomeIconMarker
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50
dart-sdk/lib/async/zone.dart 1661:54 runUnary
dart-sdk/lib/async/future_impl.dart 147:18 handleValue
dart-sdk/lib/async/future_impl.dart 784:44 handleValueCallback
dart-sdk/lib/async/future_impl.dart 813:13 _propagateToListeners
dart-sdk/lib/async/future_impl.dart 584:5 [_completeWithValue]
dart-sdk/lib/async/future_impl.dart 657:7 callback
dart-sdk/lib/async/schedule_microtask.dart 40:11 _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5 _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 177:15
TypeError: iframe.contentWindow.setUserLocationIconMarker is not a function
packages/flutter_osm_web/src/asset/map.js 141:32 setUserLocationIconMarker
packages/flutter_osm_web/src/controller/web_osm_controller.dart 362:15 customUserLocationMarker
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50
dart-sdk/lib/async/zone.dart 1661:54 runUnary
dart-sdk/lib/async/future_impl.dart 147:18 handleValue
dart-sdk/lib/async/future_impl.dart 784:44 handleValueCallback
dart-sdk/lib/async/future_impl.dart 813:13 _propagateToListeners
dart-sdk/lib/async/future_impl.dart 584:5 [_completeWithValue]
dart-sdk/lib/async/future_impl.dart 657:7 callback
dart-sdk/lib/async/schedule_microtask.dart 40:11 _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5 _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 177:15
TypeError: iframe.contentWindow.configInitZoomMap is not a function
packages/flutter_osm_web/src/asset/map.js 91:38 configZoom
packages/flutter_osm_web/src/mixin_web.dart 365:19 configureZoomMap
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54 runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5 _async
packages/flutter_osm_web/src/mixin_web.dart 359:32 configureZoomMap
packages/flutter_osm_web/src/controller/web_osm_controller.dart 195:11 initPositionMap
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50
dart-sdk/lib/async/zone.dart 1661:54 runUnary
dart-sdk/lib/async/future_impl.dart 147:18 handleValue
dart-sdk/lib/async/future_impl.dart 784:44 handleValueCallback
dart-sdk/lib/async/future_impl.dart 813:13 _propagateToListeners
dart-sdk/lib/async/future_impl.dart 584:5 [_completeWithValue]
dart-sdk/lib/async/future_impl.dart 657:7 callback
dart-sdk/lib/async/schedule_microtask.dart 40:11 _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5 _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 177:15
TypeError: iframe.contentWindow.initMapLocation is not a function
packages/flutter_osm_web/src/asset/map.js 45:31 initMapLocation
packages/flutter_osm_web/src/mixin_web.dart 24:35 initLocationMap
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54 runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5 _async
packages/flutter_osm_web/src/mixin_web.dart 23:31 initLocationMap
packages/flutter_osm_web/src/controller/web_osm_controller.dart 207:11 initPositionMap
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50
dart-sdk/lib/async/zone.dart 1661:54 runUnary
dart-sdk/lib/async/future_impl.dart 147:18 handleValue
dart-sdk/lib/async/future_impl.dart 784:44 handleValueCallback
dart-sdk/lib/async/future_impl.dart 813:13 _propagateToListeners
dart-sdk/lib/async/future_impl.dart 448:9 callback
dart-sdk/lib/async/schedule_microtask.dart 40:11 _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5 _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 177:15
SyntaxError: Identifier 'OSMJS' has already been declared
======== Exception caught by scheduler library =====================================================
The following assertion was thrown during a scheduler callback:
Assertion failed: "Cannot render platform views: 5. These views have not been created, or they have been deleted."
When the exception was thrown, this was the stack:
dart-sdk/lib/internal/js_dev_runtime/private/ddc_runtime/errors.dart 288:49 throw
lib/_engine/engine/canvaskit/embedded_views.dart 523:9 submitFrame
lib/_engine/engine/canvaskit/rasterizer.dart 36:33 draw
lib/_engine/engine/canvaskit/renderer.dart 365:16 renderScene
lib/_engine/engine/platform_dispatcher.dart 690:14 render
lib/ui/window.dart 100:50 render
packages/flutter/src/rendering/view.dart 237:13 compositeFrame
packages/flutter/src/rendering/binding.dart 496:18 drawFrame
packages/flutter/src/widgets/binding.dart 905:13 drawFrame
packages/flutter/src/rendering/binding.dart 358:5 [_handlePersistentFrameCallback]
packages/flutter/src/scheduler/binding.dart 1284:15 [_invokeFrameCallback]
packages/flutter/src/scheduler/binding.dart 1214:9 handleDrawFrame
packages/flutter/src/scheduler/binding.dart 939:7
dart-sdk/lib/_internal/js_dev_runtime/private/isolate_helper.dart 48:19 internalCallback