JavaScript - Google maps

   
Vista:

Google maps

Publicado por zefalo (10 intervenciones) el 24/04/2015 11:54:04
Buenas, tengo unproblema con google maps a la hora de poner unos puntos:

var point = new google.maps.LatLng(arr[i].D, arr[i].k);
console.log(arr[i].D, arr[i].k);

lo que me imprime:
24.002749999999992 19.49907

Lo que sucede es ue la primera coordenada me la estira y los ultimos numeros los cambia, alguien sabe porque?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Google maps

Publicado por zefalo (10 intervenciones) el 24/04/2015 16:16:43
nada, mirando y mirando, alguien sabe alguna manera de que por ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
var coordenadas_chile = country.CL.coord;
chile = new google.maps.Polygon({
	paths: coordenadas_chile,
	strokeColor: '#C9F2B1',
	strokeOpacity: 2,
	strokeWeight: 0.7,
	fillColor: '#C9F2B1',
	fillOpacity: 1
});
google.maps.event.addListener(chile, 'click', function (event) {
	respuesta(pregunta,country.CL.desc);
});
chile.setMap(map);

saque de coordenadas_chile y haga una media de las coordenadas o que me haga un marquer en el medio del polygon?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de txema

Google maps

Publicado por txema (7 intervenciones) el 24/04/2015 20:27:05
Hola zefalo:
Vayamos por partes.

En el primer mensaje muestras una parte de un array del que no sé (sabemos) de dónde surge. El que Google Maps imprima algo como 24.002749999999992 no es preocupante. En defitiva es 24.002750 con un error inferior a 20 cms (siete decimales después de [.]).

En la segunda entrada haces referencia a var coordenadas_chile = country.CL.coord; que no sé de donde surgen.

Falta muchísimo código para darte una opinión de lo que se puede hacer. Y después de releerlo, no entiendo la pregunta.

Si quiero seleccionar Chile en una ventana, sería:
Ventana: (-55.980535,-75.696787) - (-17.498329,-66.417343)

Si lo que quiero son los límites, son:
Límites: (-55.980535,-109.454801) - (-17.498329,-66.417343)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de txema

Google maps

Publicado por txema (7 intervenciones) el 24/04/2015 20:43:50
Marcar un centro para Chile sería
Localización: (-35.675147, -71.542969)

La fuente, bajo Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0 la tengo publicada temporalmente en http://txema.260mb.net/mapas/geocoder-tool.html#q%3Dchile
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vainas

Google maps

Publicado por Vainas (239 intervenciones) el 25/04/2015 10:38:48
Buenas:

Digo yo... no sera que le esta dando problemas por la precisión de la variable o algo asi?. No he podido indagar mucho pero no recuerdo ahora mismo si javascript se comporta como otros lenguajes y el sabe que este objeto es de tipo float. con esto me surge la duda de si a la api de google maps se le pasan en latitud y longitud un string o un float....

Aqui tendriamos que saber entonces como dice txema de donde viene el dato.

En fin, que el resto lo ha dicho txema que es el experto por aqui en google maps.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de txema

Google maps

Publicado por txema (7 intervenciones) el 25/04/2015 13:57:48
Vainas: El nivel de precisión no depende el número de dígitos después de la zona ya que Google Maps interpretará (en muchos casos cuando se recogen los datos de una IP) que si tenemos una coordenada, por ejemplo, -36, -71 será la misma que -36.00000000, -71.00000000

Interesante tu observación sobre si javascript se comporta como otros lenguajes y el sabe que este objeto es de tipo float. Personalmente, si los datos de latitud y longitud los escribo directamente, pondría
1
var centro = new google.maps.LatLng(-35.675147, -71.542969);
Cuando lo recibo de una base de datos, un excel u otro recurso, aquí si es importante parseFloat(). Personalmente he tenido algún error al no hacerlo.
1
var latlng = new google.maps.LatLng(parseFloat(data[i].lat), parseFloat(data[i].lng));

Otro aspecto importante a fin de eliminar coordenadas de extensión kilométrica es delimitar los decimales en las coordenadas mediante .toFixed(). Por ejemplo, en geolocalización utilizo:
1
2
longitude = pos.coords.longitude.toFixed(6);
    latitude = pos.coords.latitude.toFixed(6);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Google maps

Publicado por zefalo (10 intervenciones) el 28/04/2015 14:20:03
Gracias por la ayuda, pero al final lo que he usado ha sido geocoder:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function codeAddress(nombre) {
    //console.log(nombre);
    geocoder.geocode({ 'address': nombre }, function (results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            marker = new google.maps.Marker({
                position: results[0].geometry.location,
                map: map,
                icon: "images/icono.png"
            });
            puntos_array.push(marker);
        }else{
            alert("No podemos encontrar la dirección, error: " + nombre);
        }
    });
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar