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