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

Reply via email to