Transform operates on the coordinates, it does not return a new coordinates.
You should use it like this:
var latlon = weet.geo.coordinates[0],tweet.geo.coordinates[1];
latlon.transform(new
OpenLayers.Projection("EPSG:4326"),map.getProjectionObject());
tweet.point = latlon;
On Jun 21, 2011, at 10:21 AM, Nicholas Efremov-Kendall wrote:
> Hi guys thanks for the previous advice,
>
> I'm still running into an issue, and I'm not sure how to resolve it. When I
> first use a OpenLayers.LonLat and transform the point, I get the lon
> converted correctect, but the lat is returned NaN. If I don't transform it,
> the coordinates remain correct.
>
> tweet.point = new
> OpenLayers.LonLat(tweet.geo.coordinates[0],tweet.geo.coordinates[1]).transform(new
> OpenLayers.Projection("EPSG:4326"),map.getProjectionObject());
>
> I've been playing around with some different iterations, and I can get
> tweet.point to alert out with ever tweet that's pulled into the plotting
> function, but the markers aren't added. The issue seems to be with how I'm
> calling the transform function, because somehow after calling the function I
> get NaN's for the lat-lon's inside the point object. I'm really hitting a
> wall here.
>
>
>
> On Tue, Jun 21, 2011 at 3:23 AM, Nick Kendall <[email protected]> wrote:
> Thanks! Will take another crack at this Tom!
>
> Sent from my mobile device
>
> On Jun 21, 2011, at 2:37 AM, "Sveen Atle Frenvik (Geomatikk IKT)"
> <[email protected]> wrote:
>
>> try using an OpenLayers.Geometry.Point instead of an OpenLayers.LonLat
>>
>> ie (untested, but i think this is rather correct):
>>
>> function parseTweetsQ(){
>> if (tweetsQ.length > 0) {
>> var tweet = tweetsQ.pop();
>> if (tweet.geo){
>> tweet.point = new
>> OpenLayers.Geometry.Point(tweet.geo.coordinates[0],tweet.geo.coordinates[1]).transform(new
>> OpenLayers.Projection("EPSG:4326"),map.getProjectionObject());
>> tweet.attributes = {}; //in this you coukd stuff attributes of
>> the tweet for easy access on clicks etc.
>> plotTwt(tweet);
>> }
>> }
>> }
>>
>> function plotTwt(tweet){
>> //why do you keep adding the layer for each tweet?
>> map.addLayer(tweetz);
>> tweet.marker = new
>> OpenLayers.Feature.Vector(tweet.point,{attributes:{tweet.attributes]});
>> tweetz.addFeatures([tweet.marker]);
>> }
>>
>>
>>
>> On 2011-06-21 05:00, Nicholas Efremov-Kendall wrote:
>>>
>>> Hi Phil et al,
>>>
>>> Thanks for your response. The code as is does iterate through the features
>>> as they are returned. I have a handle on it up to the plotting function. An
>>> alert on the tweet.marker object returns [object Object], while
>>> tweet.latlng returns readable coordinates lon=38.6834,lat=-90.4313. I guess
>>> what I'm unsure about is how to parse the object which is passed to the
>>> third function. Thanks again.
>>>
>>>
>>> function acquireTweets(){
>>> $.getJSON(createTWTsrcURL(), function(data){
>>> if(data.results)
>>> $.each(data.results, function(i, tweet){
>>> if (tweet.geo || tweet.location)
>>> tweetsQ.push(tweet);
>>> });
>>> refreshQuery = data.refresh_url;
>>> });}
>>>
>>> function parseTweetsQ(){
>>> if (tweetsQ.length > 0) {
>>> var tweet = tweetsQ.pop();
>>> if (tweet.geo){
>>> tweet.latlng = new
>>> OpenLayers.LonLat(tweet.geo.coordinates[0],tweet.geo.coordinates[1]);
>>> plotTwt(tweet);
>>> }}}
>>>
>>> function plotTwt(tweet){
>>> map.addLayer(tweetz);
>>> tweet.marker = new OpenLayers.Feature.Vector(new
>>> OpenLayers.Geometry.Point(tweet.latlng).transform(new
>>> OpenLayers.Projection("EPSG:4326"),map.getProjectionObject()));
>>> tweetz.addFeatures([tweet.marker]);}
>>>
>>>
>>>
>>>
>>> On Mon, Jun 20, 2011 at 9:13 PM, Phil Scadden <[email protected]> wrote:
>>> I have no idea what the object returned by twitter is but surely, but if
>>> you are using jsonp, then
>>> have in your code something like:
>>> jsonp_function(json)
>>> where jsonp_function is the name of jsonp callback and json is the
>>> returned object. I would guess it contains an array of feature type
>>> objects, so you would iterate through the array, creating feature for
>>> each row, and calling vectorLayer.addFeatures(features) to add them to
>>> the vector layer.
>>>
>>> Notice: This email and any attachments are confidential. If received in
>>> error please destroy and immediately notify us. Do not copy or disclose the
>>> contents.
>>>
>>> _______________________________________________
>>> 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
>>
>>
>> --
>> Atle Frenvik Sveen
>> Utvikler
>> Geomatikk IKT AS
>> tlf: 45 27 86 89
>> [email protected]
>> _______________________________________________
>> 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
_______________________________________________
Users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/openlayers-users