From d53a2eff2dc87122b99e794134698931b1a933a7 Mon Sep 17 00:00:00 2001
From: Mac_Weber <Mac_Weber@789986.no-reply.drupal.org>
Date: Wed, 10 Oct 2012 18:11:59 -0300
Subject: [PATCH] Issue #1805844 by Mac_Weber: Fix getting geoJSON layer from
 URL.

---
 .../layer_types/openlayers_layer_type_geojson.js   | 33 +++++++++-------------
 1 file changed, 14 insertions(+), 19 deletions(-)

diff --git a/plugins/layer_types/openlayers_layer_type_geojson.js b/plugins/layer_types/openlayers_layer_type_geojson.js
index c2a5458..d6b4672 100644
--- a/plugins/layer_types/openlayers_layer_type_geojson.js
+++ b/plugins/layer_types/openlayers_layer_type_geojson.js
@@ -39,33 +39,28 @@ Drupal.openlayers.layer.geojson = function(title, map, options) {
       layer.events.triggerEvent('loadend');
     }
   }
-  else if (options.useBBOX) {
-    options.strategies = [ new OpenLayers.Strategy.BBOX(options.resFactor) ];
+  else {
+    // @todo Add more strategies. Paging strategy would be really interesting
+    //   to use with views_geojson.
+    // @see http://dev.openlayers.org/releases/OpenLayers-2.12/doc/apidocs/files/OpenLayers/Strategy/Paging-js.html
+    if (options.useBBOX) {
+      // BBOX strategy.
+      // @see http://dev.openlayers.org/releases/OpenLayers-2.12/doc/apidocs/files/OpenLayers/Strategy/BBOX-js.html
+      options.strategies = [ new OpenLayers.Strategy.BBOX(options.resFactor) ];
+    }
+    else {
+      // Fixed strategy.
+      // @see http://dev.openlayers.org/releases/OpenLayers-2.12/doc/apidocs/files/OpenLayers/Strategy/Fixed-js.html
+      options.strategies = [new OpenLayers.Strategy.Fixed()];
+    }
     options.protocol = new OpenLayers.Protocol.HTTP({
       url: options.url,
       format: new OpenLayers.Format.GeoJSON()
     });
     var layer = new OpenLayers.Layer.Vector(title, options);
   }
-  else {
-    var layer = new OpenLayers.Layer.Vector(title, options);
-
-    // Use an AJAX like call to get data from URL
-    OpenLayers.loadURL(options.url, {}, null, function (response) {
-      var format = new OpenLayers.Format.GeoJSON(geojson_options);
-      var features = format.read(response.responseText);
-      // Add features, if needed
-      if (features) {
-        layer.addFeatures(features);
-        layer.events.triggerEvent('loadend');
-      }
-    });
-  }
 
   return layer;
 };
 
 })(jQuery);
-
-
-
-- 
1.7.11.3

