I should have proofread the email BEFORE I sent it.

Actually, it would be something like this:

var latlon = new 
OpenLayers.LonLat(tweet.geo.coordinates[0],tweet.geo.coordinates[1]);
latlon.transform(new 
OpenLayers.Projection("EPSG:4326"),map.getProjectionObject());
tweet.point = latlon;

This assumes that tweet.geo.coordinates[0],tweet.geo.coordinates[1] is 
something that the LonLat constructor will take.

On Jun 21, 2011, at 10:39 AM, B. Heath Robinson wrote:

> 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

_______________________________________________
Users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/openlayers-users

Reply via email to