Re: [gtug-bsas] pregunta basica en js
miércoles, 29 de mayo de 2013
Traté de usar JSFIDDLE pero me tira error en el google.map.coder, así que te lo pasó acá.
En cuanto a lo del objeto/JSON, tenías razón, funciona.
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
</head>
<body>
<div id="text">
<p>Este es el mensaje: <span class="translate" data-locale="saludo">(mensaje de saludo)</span></p>
</div>
<script type="text/javascript">
var translates =
{
'AR':
{
'saludo':'hola mundo'
},
'US':
{
'saludo':'hello world'
}
}
var pais, translates_list;
function initialize(callback)
{
var loc = {};
var geocoder = new google.maps.Geocoder();
if(google.loader.ClientLocation)
{
loc.lat = google.loader.ClientLocation.latitude;
loc.lng = google.loader.ClientLocation.longitude;
var latlng = new google.maps.LatLng(loc.lat, loc.lng);
geocoder.geocode(
{
'latLng': latlng
},
function(results, status)
{
if(status == google.maps.GeocoderStatus.OK)
{
pais = results[0]['address_components'][5]['short_name'];
if (callback)
callback();
};
});
}
}
function callback()
{
translates_list = translates[pais];
$("#text").find("span.translate").each(function(i)
{
var translate_data = $(this).attr("data-locale");
$(this).text(translates_list[translate_data]);
});
}
initialize(callback);
</script>
</body>
</html>
On Wed, 29 May 2013 17:04:07 -0300
Maximiliano Burgos <maxib2007@gmail.com> wrote:
> okok me equivoque, no le estoy pasando un json xD
> es un objeto js :P
>
>
> El 29 de mayo de 2013 16:56, Maximiliano Burgos <maxib2007@gmail.com>escribió:
>
> > no hay mas librerias que la de google maps, y si, quise ejecutarlo pero ni
> > se inmuta, ni una alert vacio ni nada...
> > las librerias estan incluidas en External Resources.
> > y si, translates es un objeto json, pero si lo accedo como
> > translates['AR'] por ejemplo, entra sin problemas...
> >
> >
> > El 29 de mayo de 2013 16:52, bmiguens@gmail.com <bmiguens@gmail.com>escribió:
> >
> > Acá hay un problema: translates es un objeto, no un array. Cuando lo
> >> querés acceder por translates[pais] no te va a devolver el array de AR de
> >> esa forma.
> >>
> >> La idea de JSFIDDLE es poder ejecutar el código. Por favor, incluí las
> >> librerías de Google que estás usando para que podamos probarlo como
> >> corresponde.
> >>
> >>
> >>
> >> On Wed, 29 May 2013 16:39:44 -0300
> >> Maximiliano Burgos <maxib2007@gmail.com> wrote:
> >>
> >> > bueno aca esta:
> >> >
> >> > http://jsfiddle.net/maxwellnewage/xdy86/
> >> >
> >> >
> >> > El 29 de mayo de 2013 16:33, bmiguens@gmail.com <bmiguens@gmail.com
> >> >escribió:
> >> >
> >> > > Es más bien una práctica que se adecúa a tu caso.
> >> > >
> >> > > Te recomendaría crear un proyecto en http://jsfiddle.net/ y
> >> compartirlo
> >> > > así podemos ver en funcionamiento todo completo.
> >> > >
> >> > > On Wed, 29 May 2013 16:27:46 -0300
> >> > > Maximiliano Burgos <maxib2007@gmail.com> wrote:
> >> > >
> >> > > > bueno ahi la cambie, pero nada, me tira indefinido cuando la quiero
> >> leer
> >> > > >
> >> > > >
> >> > > > El 29 de mayo de 2013 16:24, bmiguens@gmail.com <bmiguens@gmail.com
> >> > > >escribió:
> >> > > >
> >> > > > > translates = translates[pais];
> >> > > > >
> >> > > > > No soy un experto en cuanto a calidad de programación, pero eso de
> >> > > volcar
> >> > > > > un array o variable dentro de otra del mismo nombre no es buena
> >> idea.
> >> > > > >
> >> > > > > Si translates[pais] es un array, podrías usar
> >> > > > > var translates_list = translates[pais];
> >> > > > >
> >> > > > >
> >> > > > >
> >> > > > > On Wed, 29 May 2013 16:08:56 -0300
> >> > > > > Maximiliano Burgos <maxib2007@gmail.com> wrote:
> >> > > > >
> >> > > > > > ufffffffffffffff dioooooossss ¬¬
> >> > > > > > estuve analizando y el error no es Angular.js, sigue siendo la
> >> > > funcion de
> >> > > > > > gmaps...
> >> > > > > > explico:
> >> > > > > >
> >> > > > > > la funcion de callback no trata a mi json como global, cuando
> >> hace:
> >> > > > > > translates = translates[pais];
> >> > > > > > guarda como corresponde un solo pais del indice, pero fuera del
> >> > > callback,
> >> > > > > > vuelve a tener todos los paises....
> >> > > > > >
> >> > > > > >
> >> > > > > > El 29 de mayo de 2013 15:32, Maximiliano Burgos <
> >> maxib2007@gmail.com
> >> > > > > >escribió:
> >> > > > > >
> >> > > > > > > aaa sisi lo conozco, tal vez pueda replicar el problema ahi
> >> > > > > > >
> >> > > > > > >
> >> > > > > > > El 29 de mayo de 2013 15:26, Marina Cuello <
> >> > > marina.eariel@gmail.com
> >> > > > > >escribió:
> >> > > > > > >
> >> > > > > > > De paso, hace poco descubrí este chiche: http://jsfiddle.net/
> >> > > > > > >> Se puede armar algo que demuestre el problema, y es más
> >> fácil para
> >> > > > > > >> mostrar a terceros qué se quiere y qué falla.
> >> > > > > > >>
> >> > > > > > >> Marina
> >> > > > > > >>
> >> > > > > > >>
> >> > > > > > >>
> >> > > > > > >>
> >> > > > > > >> 2013/5/29 Maximiliano Burgos <maxib2007@gmail.com>
> >> > > > > > >>
> >> > > > > > >>>
> >> > > > > > >>>>> El 29 de mayo de 2013 14:56, Mario Zorz <
> >> mariozorz@gmail.com
> >> > > > > >escribió:
> >> > > > > > >>>>>
> >> > > > > > >>>>> estas seguro que la funcion de callback se está llamando?
> >> > > > > > >>>>>>
> >> > > > > > >>>>>> Hacé esto y fijate si se llama (tiene que aparecer "hola
> >> estoy
> >> > > > > aca").
> >> > > > > > >>>>>> No hay forma que se llame si cuando llamas a
> >> *initialize* no
> >> > > le
> >> > > > > > >>>>>> pasas por parametro *callback*
> >> > > > > > >>>>>> f
> >> > > > > > >>>>>> unction callback(){
> >> > > > > > >>>>>> console.log("hola estoy aca");
> >> > > > > > >>>>>>
> >> > > > > > >>>>>> translates = translates[pais];
> >> > > > > > >>>>>> trans_header = trans_header[pais];
> >> > > > > > >>>>>> }
> >> > > > > > >>>>>>
> >> > > > > > >>>>>>
> >> > > > > > >>>>>> --
> >> > > > > > >> Has recibido este mensaje porque estás suscrito al grupo
> >> "GTUG
> >> > > BsAs"
> >> > > > > de
> >> > > > > > >> Grupos de Google.
> >> > > > > > >> Para anular la suscripción a este grupo y dejar de recibir
> >> sus
> >> > > correos
> >> > > > > > >> electrónicos, envía un correo electrónico a
> >> > > > > > >> gtug-bsas+unsubscribe@googlegroups.com.
> >> > > > > > >> Para obtener más opciones, visita
> >> > > > > > >> https://groups.google.com/groups/opt_out.
> >> > > > > > >>
> >> > > > > > >>
> >> > > > > > >>
> >> > > > > > >
> >> > > > > > >
> >> > > > > >
> >> > > > > > --
> >> > > > > > Has recibido este mensaje porque estás suscrito al grupo "GTUG
> >> BsAs"
> >> > > de
> >> > > > > Grupos de Google.
> >> > > > > > Para anular la suscripción a este grupo y dejar de recibir sus
> >> > > correos
> >> > > > > electrónicos, envía un correo electrónico a
> >> > > > > gtug-bsas+unsubscribe@googlegroups.com.
> >> > > > > > Para obtener más opciones, visita
> >> > > > > https://groups.google.com/groups/opt_out.
> >> > > > > >
> >> > > > > >
> >> > > > >
> >> > > > > --
> >> > > > > Has recibido este mensaje porque estás suscrito al grupo "GTUG
> >> BsAs" de
> >> > > > > Grupos de Google.
> >> > > > > Para anular la suscripción a este grupo y dejar de recibir sus
> >> correos
> >> > > > > electrónicos, envía un correo electrónico a
> >> > > > > gtug-bsas+unsubscribe@googlegroups.com.
> >> > > > > Para obtener más opciones, visita
> >> > > https://groups.google.com/groups/opt_out
> >> > > > > .
> >> > > > >
> >> > > > >
> >> > > > >
> >> > > >
> >> > > > --
> >> > > > Has recibido este mensaje porque estás suscrito al grupo "GTUG
> >> BsAs" de
> >> > > Grupos de Google.
> >> > > > Para anular la suscripción a este grupo y dejar de recibir sus
> >> correos
> >> > > electrónicos, envía un correo electrónico a
> >> > > gtug-bsas+unsubscribe@googlegroups.com.
> >> > > > Para obtener más opciones, visita
> >> > > https://groups.google.com/groups/opt_out.
> >> > > >
> >> > > >
> >> > >
> >> > > --
> >> > > Has recibido este mensaje porque estás suscrito al grupo "GTUG BsAs"
> >> de
> >> > > Grupos de Google.
> >> > > Para anular la suscripción a este grupo y dejar de recibir sus correos
> >> > > electrónicos, envía un correo electrónico a
> >> > > gtug-bsas+unsubscribe@googlegroups.com.
> >> > > Para obtener más opciones, visita
> >> https://groups.google.com/groups/opt_out
> >> > > .
> >> > >
> >> > >
> >> > >
> >> >
> >> > --
> >> > Has recibido este mensaje porque estás suscrito al grupo "GTUG BsAs" de
> >> Grupos de Google.
> >> > Para anular la suscripción a este grupo y dejar de recibir sus correos
> >> electrónicos, envía un correo electrónico a
> >> gtug-bsas+unsubscribe@googlegroups.com.
> >> > Para obtener más opciones, visita
> >> https://groups.google.com/groups/opt_out.
> >> >
> >> >
> >>
> >> --
> >> Has recibido este mensaje porque estás suscrito al grupo "GTUG BsAs" de
> >> Grupos de Google.
> >> Para anular la suscripción a este grupo y dejar de recibir sus correos
> >> electrónicos, envía un correo electrónico a
> >> gtug-bsas+unsubscribe@googlegroups.com.
> >> Para obtener más opciones, visita
> >> https://groups.google.com/groups/opt_out.
> >>
> >>
> >>
> >
>
> --
> Has recibido este mensaje porque estás suscrito al grupo "GTUG BsAs" de Grupos de Google.
> Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a gtug-bsas+unsubscribe@googlegroups.com.
> Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
>
>
--
Has recibido este mensaje porque estás suscrito al grupo "GTUG BsAs" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a gtug-bsas+unsubscribe@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
En cuanto a lo del objeto/JSON, tenías razón, funciona.
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
</head>
<body>
<div id="text">
<p>Este es el mensaje: <span class="translate" data-locale="saludo">(mensaje de saludo)</span></p>
</div>
<script type="text/javascript">
var translates =
{
'AR':
{
'saludo':'hola mundo'
},
'US':
{
'saludo':'hello world'
}
}
var pais, translates_list;
function initialize(callback)
{
var loc = {};
var geocoder = new google.maps.Geocoder();
if(google.loader.ClientLocation)
{
loc.lat = google.loader.ClientLocation.latitude;
loc.lng = google.loader.ClientLocation.longitude;
var latlng = new google.maps.LatLng(loc.lat, loc.lng);
geocoder.geocode(
{
'latLng': latlng
},
function(results, status)
{
if(status == google.maps.GeocoderStatus.OK)
{
pais = results[0]['address_components'][5]['short_name'];
if (callback)
callback();
};
});
}
}
function callback()
{
translates_list = translates[pais];
$("#text").find("span.translate").each(function(i)
{
var translate_data = $(this).attr("data-locale");
$(this).text(translates_list[translate_data]);
});
}
initialize(callback);
</script>
</body>
</html>
On Wed, 29 May 2013 17:04:07 -0300
Maximiliano Burgos <maxib2007@gmail.com> wrote:
> okok me equivoque, no le estoy pasando un json xD
> es un objeto js :P
>
>
> El 29 de mayo de 2013 16:56, Maximiliano Burgos <maxib2007@gmail.com>escribió:
>
> > no hay mas librerias que la de google maps, y si, quise ejecutarlo pero ni
> > se inmuta, ni una alert vacio ni nada...
> > las librerias estan incluidas en External Resources.
> > y si, translates es un objeto json, pero si lo accedo como
> > translates['AR'] por ejemplo, entra sin problemas...
> >
> >
> > El 29 de mayo de 2013 16:52, bmiguens@gmail.com <bmiguens@gmail.com>escribió:
> >
> > Acá hay un problema: translates es un objeto, no un array. Cuando lo
> >> querés acceder por translates[pais] no te va a devolver el array de AR de
> >> esa forma.
> >>
> >> La idea de JSFIDDLE es poder ejecutar el código. Por favor, incluí las
> >> librerías de Google que estás usando para que podamos probarlo como
> >> corresponde.
> >>
> >>
> >>
> >> On Wed, 29 May 2013 16:39:44 -0300
> >> Maximiliano Burgos <maxib2007@gmail.com> wrote:
> >>
> >> > bueno aca esta:
> >> >
> >> > http://jsfiddle.net/maxwellnewage/xdy86/
> >> >
> >> >
> >> > El 29 de mayo de 2013 16:33, bmiguens@gmail.com <bmiguens@gmail.com
> >> >escribió:
> >> >
> >> > > Es más bien una práctica que se adecúa a tu caso.
> >> > >
> >> > > Te recomendaría crear un proyecto en http://jsfiddle.net/ y
> >> compartirlo
> >> > > así podemos ver en funcionamiento todo completo.
> >> > >
> >> > > On Wed, 29 May 2013 16:27:46 -0300
> >> > > Maximiliano Burgos <maxib2007@gmail.com> wrote:
> >> > >
> >> > > > bueno ahi la cambie, pero nada, me tira indefinido cuando la quiero
> >> leer
> >> > > >
> >> > > >
> >> > > > El 29 de mayo de 2013 16:24, bmiguens@gmail.com <bmiguens@gmail.com
> >> > > >escribió:
> >> > > >
> >> > > > > translates = translates[pais];
> >> > > > >
> >> > > > > No soy un experto en cuanto a calidad de programación, pero eso de
> >> > > volcar
> >> > > > > un array o variable dentro de otra del mismo nombre no es buena
> >> idea.
> >> > > > >
> >> > > > > Si translates[pais] es un array, podrías usar
> >> > > > > var translates_list = translates[pais];
> >> > > > >
> >> > > > >
> >> > > > >
> >> > > > > On Wed, 29 May 2013 16:08:56 -0300
> >> > > > > Maximiliano Burgos <maxib2007@gmail.com> wrote:
> >> > > > >
> >> > > > > > ufffffffffffffff dioooooossss ¬¬
> >> > > > > > estuve analizando y el error no es Angular.js, sigue siendo la
> >> > > funcion de
> >> > > > > > gmaps...
> >> > > > > > explico:
> >> > > > > >
> >> > > > > > la funcion de callback no trata a mi json como global, cuando
> >> hace:
> >> > > > > > translates = translates[pais];
> >> > > > > > guarda como corresponde un solo pais del indice, pero fuera del
> >> > > callback,
> >> > > > > > vuelve a tener todos los paises....
> >> > > > > >
> >> > > > > >
> >> > > > > > El 29 de mayo de 2013 15:32, Maximiliano Burgos <
> >> maxib2007@gmail.com
> >> > > > > >escribió:
> >> > > > > >
> >> > > > > > > aaa sisi lo conozco, tal vez pueda replicar el problema ahi
> >> > > > > > >
> >> > > > > > >
> >> > > > > > > El 29 de mayo de 2013 15:26, Marina Cuello <
> >> > > marina.eariel@gmail.com
> >> > > > > >escribió:
> >> > > > > > >
> >> > > > > > > De paso, hace poco descubrí este chiche: http://jsfiddle.net/
> >> > > > > > >> Se puede armar algo que demuestre el problema, y es más
> >> fácil para
> >> > > > > > >> mostrar a terceros qué se quiere y qué falla.
> >> > > > > > >>
> >> > > > > > >> Marina
> >> > > > > > >>
> >> > > > > > >>
> >> > > > > > >>
> >> > > > > > >>
> >> > > > > > >> 2013/5/29 Maximiliano Burgos <maxib2007@gmail.com>
> >> > > > > > >>
> >> > > > > > >>>
> >> > > > > > >>>>> El 29 de mayo de 2013 14:56, Mario Zorz <
> >> mariozorz@gmail.com
> >> > > > > >escribió:
> >> > > > > > >>>>>
> >> > > > > > >>>>> estas seguro que la funcion de callback se está llamando?
> >> > > > > > >>>>>>
> >> > > > > > >>>>>> Hacé esto y fijate si se llama (tiene que aparecer "hola
> >> estoy
> >> > > > > aca").
> >> > > > > > >>>>>> No hay forma que se llame si cuando llamas a
> >> *initialize* no
> >> > > le
> >> > > > > > >>>>>> pasas por parametro *callback*
> >> > > > > > >>>>>> f
> >> > > > > > >>>>>> unction callback(){
> >> > > > > > >>>>>> console.log("hola estoy aca");
> >> > > > > > >>>>>>
> >> > > > > > >>>>>> translates = translates[pais];
> >> > > > > > >>>>>> trans_header = trans_header[pais];
> >> > > > > > >>>>>> }
> >> > > > > > >>>>>>
> >> > > > > > >>>>>>
> >> > > > > > >>>>>> --
> >> > > > > > >> Has recibido este mensaje porque estás suscrito al grupo
> >> "GTUG
> >> > > BsAs"
> >> > > > > de
> >> > > > > > >> Grupos de Google.
> >> > > > > > >> Para anular la suscripción a este grupo y dejar de recibir
> >> sus
> >> > > correos
> >> > > > > > >> electrónicos, envía un correo electrónico a
> >> > > > > > >> gtug-bsas+unsubscribe@googlegroups.com.
> >> > > > > > >> Para obtener más opciones, visita
> >> > > > > > >> https://groups.google.com/groups/opt_out.
> >> > > > > > >>
> >> > > > > > >>
> >> > > > > > >>
> >> > > > > > >
> >> > > > > > >
> >> > > > > >
> >> > > > > > --
> >> > > > > > Has recibido este mensaje porque estás suscrito al grupo "GTUG
> >> BsAs"
> >> > > de
> >> > > > > Grupos de Google.
> >> > > > > > Para anular la suscripción a este grupo y dejar de recibir sus
> >> > > correos
> >> > > > > electrónicos, envía un correo electrónico a
> >> > > > > gtug-bsas+unsubscribe@googlegroups.com.
> >> > > > > > Para obtener más opciones, visita
> >> > > > > https://groups.google.com/groups/opt_out.
> >> > > > > >
> >> > > > > >
> >> > > > >
> >> > > > > --
> >> > > > > Has recibido este mensaje porque estás suscrito al grupo "GTUG
> >> BsAs" de
> >> > > > > Grupos de Google.
> >> > > > > Para anular la suscripción a este grupo y dejar de recibir sus
> >> correos
> >> > > > > electrónicos, envía un correo electrónico a
> >> > > > > gtug-bsas+unsubscribe@googlegroups.com.
> >> > > > > Para obtener más opciones, visita
> >> > > https://groups.google.com/groups/opt_out
> >> > > > > .
> >> > > > >
> >> > > > >
> >> > > > >
> >> > > >
> >> > > > --
> >> > > > Has recibido este mensaje porque estás suscrito al grupo "GTUG
> >> BsAs" de
> >> > > Grupos de Google.
> >> > > > Para anular la suscripción a este grupo y dejar de recibir sus
> >> correos
> >> > > electrónicos, envía un correo electrónico a
> >> > > gtug-bsas+unsubscribe@googlegroups.com.
> >> > > > Para obtener más opciones, visita
> >> > > https://groups.google.com/groups/opt_out.
> >> > > >
> >> > > >
> >> > >
> >> > > --
> >> > > Has recibido este mensaje porque estás suscrito al grupo "GTUG BsAs"
> >> de
> >> > > Grupos de Google.
> >> > > Para anular la suscripción a este grupo y dejar de recibir sus correos
> >> > > electrónicos, envía un correo electrónico a
> >> > > gtug-bsas+unsubscribe@googlegroups.com.
> >> > > Para obtener más opciones, visita
> >> https://groups.google.com/groups/opt_out
> >> > > .
> >> > >
> >> > >
> >> > >
> >> >
> >> > --
> >> > Has recibido este mensaje porque estás suscrito al grupo "GTUG BsAs" de
> >> Grupos de Google.
> >> > Para anular la suscripción a este grupo y dejar de recibir sus correos
> >> electrónicos, envía un correo electrónico a
> >> gtug-bsas+unsubscribe@googlegroups.com.
> >> > Para obtener más opciones, visita
> >> https://groups.google.com/groups/opt_out.
> >> >
> >> >
> >>
> >> --
> >> Has recibido este mensaje porque estás suscrito al grupo "GTUG BsAs" de
> >> Grupos de Google.
> >> Para anular la suscripción a este grupo y dejar de recibir sus correos
> >> electrónicos, envía un correo electrónico a
> >> gtug-bsas+unsubscribe@googlegroups.com.
> >> Para obtener más opciones, visita
> >> https://groups.google.com/groups/opt_out.
> >>
> >>
> >>
> >
>
> --
> Has recibido este mensaje porque estás suscrito al grupo "GTUG BsAs" de Grupos de Google.
> Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a gtug-bsas+unsubscribe@googlegroups.com.
> Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
>
>
--
Has recibido este mensaje porque estás suscrito al grupo "GTUG BsAs" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a gtug-bsas+unsubscribe@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
Suscribirse a:
Enviar comentarios (Atom)
0 comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.