diff --git a/lib/map.js b/lib/map.js
index c00669ed884a367a6c257f0e7091af630beff99e..09b3f6f8e78d1b0f7de03d0a306e5af282c1307b 100644
--- a/lib/map.js
+++ b/lib/map.js
@@ -82,7 +82,11 @@ define(['map/clientlayer', 'map/labellayer', 'map/button', 'leaflet', 'map/activ
 
       if (config.geo) {
         [].forEach.call(config.geo, function (geo) {
-          L.geoJSON(geo.json, geo.option).addTo(map);
+          geo.json().then(function (result) {
+            if (result) {
+              L.geoJSON(result, geo.option).addTo(map);
+            }
+          });
         });
       }