From 41429cf1ed4dcbb9a156ac9f272da9602869bb18 Mon Sep 17 00:00:00 2001 From: Mihael Konjevic Date: Thu, 17 Aug 2017 13:57:14 +0200 Subject: [PATCH] Ensure that `:initialCenterCoordinate` attribute gets the correct data Mapview component accepts the `:initialCenterCoordinate` which always must have longitude and latitude attributes. This ensures that they will always be present even when they are missing from the map passed retreived from the app state. --- src/status_im/chat/views/api/geolocation/views.cljs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/status_im/chat/views/api/geolocation/views.cljs b/src/status_im/chat/views/api/geolocation/views.cljs index 6775737246..9930290923 100644 --- a/src/status_im/chat/views/api/geolocation/views.cljs +++ b/src/status_im/chat/views/api/geolocation/views.cljs @@ -24,6 +24,10 @@ #(reset! cur-loc-geocoded nil)) true))) +(defn get-coord [{:keys [latitude longitude]}] + {:latitude (or latitude 0) + :longitude (or longitude 0)}) + (defn place-item [{:keys [title address pin-style] [latitude longitude] :center}] [touchable-highlight {:on-press #(do (dispatch [:set-command-argument [0 @@ -58,7 +62,7 @@ (dispatch [:set-chat-seq-arg-input-text "Dropped pin"]) (dispatch [:chat-input-blur :seq-input-ref]) (dispatch [:load-chat-parameter-box (:command command)])) - :initialCenterCoordinate coord + :initialCenterCoordinate (get-coord coord) :showsUserLocation true :initialZoomLevel 10 :logoIsHidden true @@ -140,10 +144,11 @@ result (reaction (when @pin-location (get-places @pin-location pin-geolocation))) result2 (reaction (when @pin-location (get-places @pin-location pin-nearby true)))] (fn [] - (let [_ @result _ @result2] + (let [_ @result _ @result2 + coord (select-keys (:coords geolocation) [:latitude :longitude])] [view [view - [mapview {:initial-center-coordinate (select-keys (:coords geolocation) [:latitude :longitude]) + [mapview {:initial-center-coordinate (get-coord coord) :initialZoomLevel 10 :onRegionDidChange #(reset! pin-location (js->clj % :keywordize-keys true)) :logoIsHidden true @@ -171,4 +176,4 @@ [place-item {:title text :address place_name :center center}] (when (not= feature (last (:features @pin-nearby))) [view st/item-separator])]) - (:features @pin-nearby)))])])))) \ No newline at end of file + (:features @pin-nearby)))])]))))