[Users] Help with OpenLayers.Format.GeoJSON

Pol d.paolino at gmail.com
Tue Sep 14 23:50:47 CEST 2010


I also tried this:

MarkersStore = new GeoExt.data.FeatureStore({
layer: MarkersLayer,
proxy: new GeoExt.data.ProtocolProxy({
protocol: new OpenLayers.Protocol.HTTP({
url: marker_api_url,
format: new OpenLayers.Format.GeoJSON({
read: function() {
                        var obj = OpenLayers.Format.JSON.read.apply(this,
arguments);
console.log(obj);
   return OpenLayers.Format.GeoJSON.read.apply(this, [obj]);
                },
'internalProjection': proj900913,
'externalProjection': proj4326
}),
readWithPOST: true
})
}),
autoLoad: false,
});

But it doesn't works. I never get anything in the log.

Can you show me an example ?

Thanks

-Pol D.-
http://www.google.com/profiles/110003197662276240659


On Mon, Sep 13, 2010 at 21:52, Pol <d.paolino at gmail.com> wrote:

> Thanks Eric, but...
>
> How to include such code in my current application ?
>
> I'm doing these:
>
> MyReader = new OpenLayers.Format.GeoJSON({
> read: function() {
>           var obj = OpenLayers.Format.JSON.read.apply(this, arguments);
>           return OpenLayers.Format.GeoJSON.read.apply(this, obj->#data);
>       }
>   });
>
> And then ? I don't know how to use it in my store...
>
> Thanks for helping !
>
>
> -Pol D.-
>
>
> On Mon, Sep 13, 2010 at 19:04, Eric Lemoine <eric.lemoine at camptocamp.com>wrote:
>
>> On Monday, September 13, 2010, Pol <d.paolino at gmail.com> wrote:
>> > Hello all,
>> > I'm moving my whole project to the Drupal Framework and I'm using the
>> services module who can send data in many format(xml, json, amfphp, etc
>> etc).
>> > Before using it, I was using simple php to send the data to my store,
>> like this:
>> >
>> >       MarkersStore = new GeoExt.data.FeatureStore({
>> >               layer: MarkersLayer,
>> >               proxy: new GeoExt.data.ProtocolProxy({
>> >                       protocol: new OpenLayers.Protocol.HTTP({
>> >                               url: get_markers.php,
>> >                               format: new OpenLayers.Format.GeoJSON({
>> >                                       'internalProjection': proj900913,
>> >                                       'externalProjection': proj4326
>> >                               }),
>> >                               readWithPOST: true
>> >                       })
>> >               }),
>> >               autoLoad: false,
>> >       });
>> >
>> > Now I have to modify my code to get it working with the tools provided
>> by this amazing framework.
>> > My Json code look like this now:
>> > {    "#error": false,
>> >     "#data": {
>> >         "type": "FeatureCollection",
>> >         "features": [
>> >             {
>> >                 "geometry": {
>> >                     "type": "Point",
>> >                     "coordinates": [
>> >                         4.35205865469,
>> >                         50.8235093311
>> >                     ]
>> >                 },
>> >                 "properties": {
>> >                     "img": "sites/default/modules/lukoil/lukoil.jpg",
>> >                     "inf": "Lukoil ID 3",
>> >                     "html": null
>> >                 }
>> >             }]
>> >       }
>> > }
>> >
>> > The FeatureCollection I use to parse is now embedded in another
>> container.
>> > That means that my old FeatureStore is no more working with those data
>> and I don't know how to solve this.
>> >
>> > Any idea ?
>> > My store look like this now:
>> >       MarkersStore = new GeoExt.data.FeatureStore({
>> >               layer: MarkersLayer,
>> >               proxy: new GeoExt.data.ProtocolProxy({
>> >                       protocol: new OpenLayers.Protocol.HTTP({
>> >                               url: /services/json,
>> >                               params: {'method':'\"markers.get\"'},
>> >                               format: new OpenLayers.Format.GeoJSON({
>> >                                       'internalProjection': proj900913,
>> >                                       'externalProjection': proj4326
>> >                               }),
>> >                               readWithPOST: true
>> >                       })
>> >               }),
>> >               autoLoad: false,
>> >       });
>> >
>> > Thanks for the help !
>>
>> Hi
>>
>> This framework isn't so amazing since it doesn't support GeoJSON.
>> Sorry I couldn't resist :-)
>>
>> The representation format of the received data is not GeoJSON, so it's
>> no surprise that Format. GeoJSON cannot read that.
>>
>> What you can do is define your own Format, with something like that for
>> example:
>>
>>    new OpenLayers.Format.GeoJSON({
>>         read: function() {
>>             var obj = OpenLayers.Format.JSON.read.apply(this, arguments);
>>             return OpenLayers.Format.GeoJSON.read.apply(this, [obj]);
>>         }
>>     });
>>
>> Cheers,
>>
>> --
>> Eric Lemoine
>>
>> Camptocamp France SAS
>> Savoie Technolac, BP 352
>> 73377 Le Bourget du Lac, Cedex
>>
>> Tel : 00 33 4 79 44 44 96
>> Mail : eric.lemoine at camptocamp.com
>> http://www.camptocamp.com
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.geoext.org/pipermail/users/attachments/20100914/2af086ed/attachment-0001.htm 


More information about the Users mailing list