you have to provide an url and not a string: url: "pois",
Arnd -----Ursprüngliche Nachricht----- Von: [email protected] [mailto:[email protected]] Im Auftrag von Liesel Gesendet: Mittwoch, 19. Dezember 2012 15:15 An: [email protected] Betreff: [OpenLayers-Users] got an error when used geojson with http andfixedstrategy Hey List, i've got a problem with the http-protocol. It seems simple but I got a an error-message: Uncaught TypeError: Cannot call method 'equals' of null OpenLayers.debug.js:43300 I had a look in the code. The first argument of the function, mapProjection, is null thats right. And null.equals() cannot be working. The relevant function merge is in the OpenLayers.Strategy.Fixed class. Maybe I have to set a projection of all layers added to my map. But it still not working with that. VectorFeatures comes from a geojson-file. I tried to add them by myself. With vectorLayer.addFeatures() this works. But I would like to use the fixedStrategy or the refreshStrategy. Therefor I have to use the http-protocol in openLayers. Does anybody have a clue why its not working? Where do I have to set the projection? Anywhere else than in map and vectorLayer? Thanks in advance. Liesel Thats the js-code: function readFeatures(fun) { var read; $.get("pois", {}, function(data, textStatus, jqXHR) { if(textStatus == "success") { fun(data); } else { alert("Cannot receive POIs"); } }); } function loadMap() { map = new OpenLayers.Map('map', { projection: "EPSG:4326" displayProjection: "EPSG:4326" }); var vec1_GeoJSON = new OpenLayers.Layer.Vector("vec1_GeoJSON", { projection: new OpenLayers.Projection("EPSG:4326"), protocol: new OpenLayers.Protocol.HTTP({ url: "pois", format: new OpenLayers.Format.GeoJSON({}) }), strategies: [new OpenLayers.Strategy.Fixed()] }); map.addLayer(vec1_GeoJSON); var osm = new OpenLayers.Layer.OSM("simple OSM", null); map.addLayer(osm); map.setCenter(new OpenLayers.LonLat(7.6, 51.9), 13); /* The following works as expected */ map2 = new OpenLayers.Map('map2', { projection: "EPSG:4326" displayProjection: "EPSG:4326" }); var vectorLayer2 = new OpenLayers.Layer.Vector("GeoJSON"); map.addLayer(vectorLayer2); var geojson_format = new OpenLayers.Format.GeoJSON(); readFeatures(function(data) { data = geojson_format.read(data_json); vectorLayer2.addFeatures(data); }); map2.addLayer(osm); var osm2 = new OpenLayers.Layer.OSM("simple OSM", null); map2.addLayer(osm2); map2.setCenter(new OpenLayers.LonLat(7.6, 51.9), 13); } And the geoJson-File: {"type": "FeatureCollection", "features": [ {"type": "Feature", "geometry":{"type":"Point", "coordinates":[3.0, 5.0]}, "properties": {"id": "1"}}, {"type": "Feature", "geometry":{"type":"Point", "coordinates":[51.962944, 7.628694]}, "properties": {"id": "2"}}, {"type": "Feature", "geometry":{"type":"Point", "coordinates":[7.6170653, 51.96770399999998]}, "properties": {"id": "8"}}, {"type": "Feature", "geometry":{"type":"Point", "coordinates":[3.0, 5.0]}, "properties": {"id": "15"}}, {"type": "Feature", "geometry":{"type":"Point", "coordinates":[-129.8626730292999, 90.0]}, "properties": {"id": "18"}}, {"type": "Feature", "geometry":{"type":"Point", "coordinates":[-12.074459351599, 90.0]}, "properties": {"id": "19"}}, {"type": "Feature", "geometry":{"type":"LineString", "coordinates":[[-129.8626730292999, 90.0], [-139.74427718669995, -90.0], [-90.99020764604, -90.0], [116.78968704860017, 90.0], [122.28750441223, 90.0]]}, "properties": {"id": "20"}}, {"type": "Feature", "geometry":{"type":"Polygon", "coordinates":[[[35.968871980900076, 90.0], [-148.97193009779994, 90.0], [128.43927301839005, 90.0], [35.968871980900076, 90.0]]]}, "properties": {"id": "21"}}, {"type": "Feature", "geometry":{"type":"Polygon", "coordinates":[[[-15.657445058227, 50.172238148749], [-28.197895009071, 29.868652511388], [-39.544016391039, 45.992088165134], [-15.657445058227, 50.172238148749]]]}, "properties": {"id": "22"}}]} _______________________________________________ Users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/openlayers-users _______________________________________________ Users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/openlayers-users
