# \[Medium Sample App\] Weather powered by Weather Underground

**URL:** <https://community.thunkable.com/t/medium-sample-app-weather-powered-by-weather-underground/20026>\
**Category:** Questions about Thunkable X\
**Created:** [March 21, 2018, 2:02am UTC](https://community.thunkable.com/t/medium-sample-app-weather-powered-by-weather-underground/20026 "2018-03-21T02:02:26Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![albert](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/albert/32/4077_2.png) [@albert](https://community.thunkable.com/u/albert)\
**Post date:** [March 21, 2018, 2:02am UTC](https://community.thunkable.com/t/medium-sample-app-weather-powered-by-weather-underground/20026/1 "2018-03-21T02:02:26Z")

</div>

Hey Thunkers,

A new component on Thunkable ✕ that is also a great way to interact with outside APIs is called Web API. If you were ever wondering how to use this with our new Object blocks, below is a sample Weather app that pulls data from the Weather Underground API and as a bonus, pairs it with live traffic data from Google Maps.

If you want to use the Weather Underground API, you’ll have to register for an API key (the one included will hit its limit quickly).

 ![✕-weather](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/1/6/169854f1057686f25373fe15c770539c0c8adbcf.jpg)

**[Click to copy](https://goo.gl/aAH6eM)**

Happy Thunking!  
Albert

---

<div class="post-metadata">

**Author:** ![albert](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/albert/32/4077_2.png) [@albert](https://community.thunkable.com/u/albert)\
**Post date:** [March 21, 2018, 2:02am UTC](https://community.thunkable.com/t/medium-sample-app-weather-powered-by-weather-underground/20026/2 "2018-03-21T02:02:33Z")

</div>



---

<div class="post-metadata">

**Author:** ![Cranky\_Pranky](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/cranky_pranky/32/13652_2.png) [@Cranky\_Pranky](https://community.thunkable.com/u/Cranky_Pranky)\
**Post date:** [March 21, 2018, 4:51am UTC](https://community.thunkable.com/t/medium-sample-app-weather-powered-by-weather-underground/20026/3 "2018-03-21T04:51:38Z")

</div>

unfortunately Stop this app

com.facebook.react.bridge.JSApplicationIllegalArgumentException: Error while updating property ‘region’ of a view managed by: AIRMap  
at com.facebook.react.uimanager.ViewManagersPropertyCache$PropSetter.updateViewProp(ViewManagersPropertyCache.java:92)  
at com.facebook.react.uimanager.ViewManagerPropertyUpdater$FallbackViewManagerSetter.setProperty(ViewManagerPropertyUpdater.java:129)  
at com.facebook.react.uimanager.ViewManagerPropertyUpdater.updateProps(ViewManagerPropertyUpdater.java:48)  
at com.facebook.react.uimanager.ViewManager.updateProperties(ViewManager.java:34)  
at com.facebook.react.uimanager.NativeViewHierarchyManager.updateProperties(NativeViewHierarchyManager.java:123)  
at com.facebook.react.uimanager.UIViewOperationQueue$UpdatePropertiesOperation.execute(UIViewOperationQueue.java:96)  
at com.facebook.react.uimanager.UIViewOperationQueue$1.run(UIViewOperationQueue.java:819)  
at com.facebook.react.uimanager.UIViewOperationQueue.flushPendingBatches(UIViewOperationQueue.java:926)  
at com.facebook.react.uimanager.UIViewOperationQueue.access$2100(UIViewOperationQueue.java:47)  
at com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.doFrameGuarded(UIViewOperationQueue.java:986)  
at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:31)  
at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:136)  
at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:107)  
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)  
at android.view.Choreographer.doCallbacks(Choreographer.java:672)  
at android.view.Choreographer.doFrame(Choreographer.java:605)  
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:846)  
at android.os.Handler.handleCallback(Handler.java:742)  
at android.os.Handler.dispatchMessage(Handler.java:95)  
at android.os.Looper.loop(Looper.java:157)  
at android.app.ActivityThread.main(ActivityThread.java:5555)  
at java.lang.reflect.Method.invoke(Native Method)  
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:745)  
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:635)  
Caused by: java.lang.reflect.InvocationTargetException  
at java.lang.reflect.Method.invoke(Native Method)  
at com.facebook.react.uimanager.ViewManagersPropertyCache$PropSetter.updateViewProp(ViewManagersPropertyCache.java:80)  
… 23 more  
Caused by: com.facebook.react.bridge.UnexpectedNativeTypeException: TypeError: expected dynamic type `double', but had type`string’  
at com.facebook.react.bridge.ReadableNativeMap.getDouble(Native Method)  
at com.airbnb.android.react.maps.AirMapView.setRegion(AirMapView.java:375)  
at com.airbnb.android.react.maps.AirMapManager.setRegion(AirMapManager.java:79)  
… 25 more

---

<div class="post-metadata">

**Author:** ![albert](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/albert/32/4077_2.png) [@albert](https://community.thunkable.com/u/albert)\
**Post date:** [March 22, 2018, 9:50pm UTC](https://community.thunkable.com/t/medium-sample-app-weather-powered-by-weather-underground/20026/4 "2018-03-22T21:50:03Z")

</div>

Sorry about that error – I just shared a new version that should avoid the crash that you experienced on Android.

---

<div class="post-metadata">

**Author:** ![ioannis](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/ioannis/32/146956_2.png) [@ioannis](https://community.thunkable.com/u/ioannis)\
**Post date:** [November 8, 2024, 12:04pm UTC](https://community.thunkable.com/t/medium-sample-app-weather-powered-by-weather-underground/20026/5 "2024-11-08T12:04:11Z")

</div>


