...la API de Google Earth insostenible para los desarrolladores.
Por lo tanto, después de una cuidadosa consideración, hemos decidido retirarse de la API de Google Earth. Por nuestra política de deprecado, la API será soportado durante un año a partir de hoy y se apagará el 12 de diciembre de 2015.
A lo largo del período de deprecado, el conjunto de los navegadores soportados continuará.
Debido a los recientes anuncios de Chrome y Firefox, el soporte de los navegadores se extiende sólo a la última versión del navegador que soporte NPAPI.
Microsoft Windows (XP, Vista, 7, y
Google Chrome 5,0-39,0 (32-bit)
Internet Explorer 7.9 y 10-11 con Vista de compatibilidad (32-bit) (Tenga en cuenta que el modo de navegación de Windows 8 con Internet Explorer no soporta plugins.)
Firefox 11,0-34,0
Apple Mac OS X 10.6 o posterior (cualquier Intel Mac)
Google Chrome 5,0-39,0 (32-bit)
Safari 3.1+
Firefox 11,0-34
Google Earth tiene un orgulloso legado, que continúa con el nuevo Google Earth para Android, impulsado por un nuevo procesador de la marca. 3D está en nuestra sangre, y mientras que no podemos anunciar nada ahora mismo, estamos ansiosos de compartir más... Leer más ...
...capa de Autocad
<LineString>
<coordinates> Lat, Long, Z
</LineString>
<Polygon>
<coordinates> Lat, Long, Z
</Polygon>
</Placemark>
</Document>
</kml>
¿Sería algo así lo que buscas?, aún no estoy seguro.
Este es un boceto inicial, se pueden añadir tantas florituras como el tiempo y las ganas nos dejen. Si te parece comenzamos con esto y vamos viendo que problemas vamos encontrando.
Si que te comento que, con vistas a futuro para tu rutina. Tratemos de usar solo elementos compatibles con el estándar GML, de este modo el archivo resultante (aunque lo guardemos como KML) será compatible con cualquier otro visor cartográfico que cumpla los estándares.
Hola tengo este codigo que me muestra un mapa y la vista de google street y depende de donde se ponga la marca la vista se actualiza, lo que quiero es saber como obtener 3 cosas, las coordenadas de la marca segun donde este posicionada, y el angulo yaw de la vista de google street actual, esto al presionar un boton, actualmente mi codigo tiene un boton que muestra las coordenadas pero solo del punto central del mapa es decir no de la marca, alguien podria ayudarme??
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google Maps JavaScript API Example: Street View Data Example</title>
<script type="text/javascript" src="http://maps.google.com/maps?file=api&&v=2&key=AIzaSyAG4joBMX5NjEDqoC0UJn1gNZf323WoCj8"></script>
<script type="text/javascript">
var map;
var myPano;
var panoClient;
var houseMarker;
Saludos a todos, tengo una pregunta y he buscado en varios foros pero ningun tema se adapta a lo ke realmente quiero.
Pues bien lo que quiero hacer se basa en que mis clientes tengan una forma de que al hacer su pedido puedan a travez del google maps puedan mostrarme la ubicacion de su domicilio con una imagen de la casa a travez de google street, es decir que se abra la pagina de google maps en algun iframe que permita seleccionar la direccion y orientar la vista de google street hacia donde este su casa, obtener el link de google maps y que se me envie al finalizar su compra de esta forma cuando yo abra la orden se mostrara el link y si le damos en el iconito de la impresora podemos imprimir el mapa y la imagen del domicilio de tal forma que con toda confianza se lo puedo dar a un repartidor
Para la seleccion de la direccion en el mapa y en la vista de google street tendria que salir esto en algun iFrame sin todo lo de alrededor y se pondria el boton que... Leer más ...
API v2: Una vez (y como pones en tu código) has cargado el objeto GeoXml puedes recurrir a los métodos GetDefaultCenter(), o GetdefaultBounds. Que te devolverán los parámetros que necesites para centrar la vista del mapa.
API v3: No puede ser mas simple. Cargas el kmlLayer y entre los parámetros de KmlLayerOptions estableces preserveViewport=false
Supongamos que quieres usar el propio archivo kml:
De modo manual: editas y consultas las coordenadas en el kml para completar el final del archivo con un <Look at> las coordenadas y el zoom que decidas<Look at> (haz probatinas con distintos valores).
Automatizado: No he encontrado ningún modo... as... Leer más ...
Me he encontrado con este pequeño truco, para guardar un punto localizado en Google Maps en formato KML para Google Earth.
Por pasos:
1º. Buscar y centrar la vista en el punto deseado.
2º. Pinchar en el icono de enlazar. (ver foto adjunta).
3º. Copiar todo el link, y pegarlo en la barra de direcciones de una nueva pagina del explorador.
4º. Añadir 1 espacio y copiar el siguiente texto: &output=kml
5º. Presionar Enter y ya esta, dependiendo del navegador web, os puede pasar diversas cosas, que el Google Earth abra el archivo; que se os pregunte si deseas guardar el kml, etc... Leer más ...
... La Tierra es sólo una, y el conocimiento también, del cual cada uno ocupamos una pequeña porción. La esfera del conocimiento que propongo no tiene montañas o simas que separen, no hay un punto por encima del otro. Desde cualquier lugar puede llegarse a cualquier otro, tan sólo hay caminos por construir y puntos de vista que compartir...
Bienvenido al foro,
Si la tierra es solo una y piensas construir una esfera uniforme... no necesitas Google Earth.
...ejemplo, la física, la geología o la química, en el caso de las ciencias, o la escultura y la música, en el caso de las artes, por poner unos ejemplos. No obstante, al igual que sucede en nuestro planeta, las divisiones y fronteras son artificiales. La Tierra es sólo una, y el conocimiento también, del cual cada uno ocupamos una pequeña porción. La esfera del conocimiento que propongo no tiene montañas o simas que separen, no hay un punto por encima del otro. Desde cualquier lugar puede llegarse a cualquier otro, tan sólo hay caminos por construir y puntos de vista que compartir.
Hola Polifemo
Curiosa esa forma de determinar si está dentro de un margen de altura. Mides la diferencia entre latitudes y si es pequeña, estas cerca del suelo.. nunca se me hubiera ocurrido
Le echaré un vistazo.
Por cierto, he hecho una consulta al respecto de la exageración del terreno en la página oficial de Google Earth (donde puedes reportar fallos y solicitar funciones, no la conocía) y esto me han contestado de momento code.google.com/ ...ail?id=619
Al principio, me han regañado remitiéndome a un ejemplo y diciendo que pusiera como valor 0 (lo que ya habíamos intentado y que no funciona). Cuando les he dicho que eso no funciona y que el ejemplo que citan tampoco funciona correctamente parece que han reconsiderado el tema. A ver que pasa.
También he consultado sobre el tema de la inclinación y he incluido la forma de dibujar circulos sin que se conviertan en ovalos. Ahí no han contestado todavía
Un saludo
...que he visto es que es muy pobre, la verdad es que está muy limitada comparada con el API de Gmaps. Y parece que hay un modo que debería funcionar, pero que es largo y complicado:
1.-El método "GEView.getViewportGlobeBounds()" te va a devolver un objeto "KmlLatLonBox". Ver aquí.
2.-La interfaz KmlLatLonBox dispone de las funciones KmlLatLonBox.getNorth() y KmlLatLonBox.getSouth() que te dan la latitud superior e inferior de la pantalla en la vista del momento (en grados decimales). Ver aquí.
3.-Las restas (en su valor absoluto para que el algoritmo funcione bien en el hemisferio sur), y si el valor es menor que el que tú determines, se activa el enderezamiento.
Simple e intuitivo, ¿verdad?
Supongo que la cuestión es si te vale la pena tanta historia, o si directamente le aplicas la función en cada cambio de zoom. Yo te recomendaba esto por: elegancia, para no sobresaturar el procedimiento con operaciones... Leer más ...
¿Es curioso verdad? Algo que está resuelto en el programa y que parece que no es posible hacer en el plugin.
Estaría bien hacer que solo se ejecute a partir de una altura determinada pero no se me ocurre la forma de hacerlo. Aunque pensándolo bien, quizá tendría que ser una función que comprobara a que altura está la vista y hacer que se ejecute la de enderezar_vista cuando correspondiese pero ¿que se ganaría con ello? Mientras la vista no se inclina, el usuario no percibe nada, solo se ve cuando empieza a inclinarse que, cada vez que se mueve el ratón, la vista se "endereza".
He probado con las otras opciones que permite la función con el fin de hacer lo mas transparente posible la ejecución de la función al usuario pero no consigo que lo sea así que la que creo que mas se ajusta a lo que buscaba es la de mover el ratón. Estas posibilidades que comento son:
google.earth.addEventListener(ge.getGlobe(), 'mouseclick', enderezar_vista);
google.earth.addEventListener(ge.getGlobe(), 'mousedblclick', enderezar_vista);
google.earth.addEventListener(ge.getGlobe(), 'mouseover', enderezar_vista);
google.earth.addEventListener(ge.getGlobe(), 'mousedown... Leer más ...
Vaya, pensé que desactivando la opción de ver la vista terreno desaparecería el giro paulatino. Pero no, independientemente de que esté o no activa la vista terreno y la de streetview, siempre se inclina automáticamente el punto de vista.
La verdad es que no encuentre mas opción que la de tu función enderezar_vista(). Lo único que añadiría es que como mínimo le pongas como condición que solo se ejecute cuando la altura sea menor de X metros.
Echa un ojo por internet a ver si alguien ha dado con la solución. Porque si no... amigo Morta, creo que estamos vencidos.
Ah, que no es que en GoogleEarth no se incline la vista al acercarte, es que hay que activarlo en Herramientas/Opciones/Pestaña de navegación.
Respecto a la exageración del terreno. Supongo que con la función de la misma interface "setTerrainExaggeration(double terrainExaggeration)" estableciendo el double a un valor de uno funcionará.
Si funciona, desde luego mejor solución esa que cargar una función en cada evento. Si no funciona, yo solo activaría el evento cuando estés por debajo de una altura determinada; es decir cuando empiece a inclinar la vista.
A ver si alguien me puede echar un cable. No se si solo me ocurre a mi o que pero cuando acerco la vista hasta el suelo, automáticamente se inclina y llega a mostrar el horizonte. Me gustaría evitarlo y que siempre se quede en vertical sobre el punto que enfocamos. No se si me explico. Cuando nos vamos acercando a la superficie, llega un momento en que cuando estamos muy cerca del suelo, la vista se va inclinando automáticamente. Observo que solo ocurre en el plugin y no en el programa normal de Google Earth. Pongo un ejemplo básico:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Inclinación de la vista al acercarse al suelo</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script src="http://www.google.com/jsapi?key=ABQIAAAArCZgeQ8ddm8YbeJQqqHN5BTYrZjdppbykE52CdH9dtH9wJ0VsBQSgm6ZbaTJsaMARyyYkz_JttmHMQ"></script>
<script type="text/javascript">
google.load("earth", "1");
var ge = null;
function init() {
google.earth.createInstance("map3d", initCB... Leer más ...
...content="text/html; charset=utf-8" />
<script src="http://www.google.com/jsapi?key=ABQIAAAArCZgeQ8ddm8YbeJQqqHN5BTYrZjdppbykE52CdH9dtH9wJ0VsBQSgm6ZbaTJsaMARyyYkz_JttmHMQ"></script>
<script type="text/javascript">
google.load("earth", "1");
var ge = null;
function init() {
google.earth.createInstance("map3d", initCB, failureCB);
}
function initCB(instance) {
ge = instance;
ge.getWindow().setVisibility(true);
ge.getOptions().setStatusBarVisibility(true);
ge.getNavigationControl().setVisibility(ge.VISIBILITY_SHOW);
// Creamos la vista para que salga centrado
var lookAt = ge.createLookAt('');
lookAt.setLatitude(42.32331619631114);
lookAt.setLongitude(2.598912324753657);
lookAt.setRange(400000.0);
ge.getView().setAbstractView(lookAt);
createMultiGeometry();
}
function failureCB(object) {
alert('Error al generar el circulo');
}
//coordenadas alrededor de las que se dibujará el circulo
var lat1="42.32331619631114";
var lon1="2.598912324753657";
var radio="25000";//radio del circulo en metros
var pi = Math.PI;
//convertimos los grados a radianes
lat1 = lat1 * pi / 180;
lon1 = lon1 * pi / 180;
//convertimos el... Leer más ...
... // E-W line gives dPhi=0
var dLon = d*Math.sin(bear)/q;
// check for some daft bugger going past the pole
if (Math.abs(lat2) > Math.PI/2) lat2 = lat2>0 ? Math.PI-lat2 : -(Math.PI-lat2);
lon2 = (lon1+dLon+3*Math.PI)%(2*Math.PI) - Math.PI;
/*
la segunda coordenada se obtiene restando el valor obtenido
en el codigo anterior a las coordenadas originales.
NO SE SI ES CORRECTO ESTO
*/
pm = new Polygon(42.32331619631114,2.598912324753657,42.32331619631114-lat2,2.598912324753657-lon2,document.getElementById('polygonselect').value);
// Creamos la vista para que salga centrado
var lookAt = ge.createLookAt('');
lookAt.setLatitude(42.32331619631114);
lookAt.setLongitude(2.598912324753657);
lookAt.setRange(400000.0);
ge.getView().setAbstractView(lookAt);
}
function failureCB(object) {
// alert('load failed');
}
Con el codigo que tengo lo que me muestra es el mapa con el monigote naranja para poder lanzarlo a la calle en cuestión, pero a mi me gustaría que se viera la vista de la calle y no la situación en el plano. He estado mirando los ejemplos de codigo que vienen en: code.google.com/ ...vices.html
Y haciendo algún cambio mas como indica en ese documento de google codex pero no logro, o bien se sigue viendo el plano, o bien aparece el espacio del plano en la mi web pero sin contenido ninguno del plano... algo me falla, y eso se debe a que no tengo suficientes conocimientos de programación, por no decir ninguno.
Pero a mi lo que me gustaría es ver la panoramica o vista de la calle del lugar que quiero mostrar.
Os doy la gracias a todos por vuestra ayuda y en especial a ti, _polifemo
, por tu pronta respuesta
Lo que quieres es: ¿disponer en tu mapa de la funcionalidad de street view?, ¿un contenedor aparte y referenciado al principal del mapa que te muestre la vista de street view?, ¿quieres prescindir del mapa tradicional y solo tener la vista en streetview?.
Mientras me concretas esto te voy contando:
-La clase StreetViewPanorama se instancia con: var 'variable'= new google.maps.StreetViewPanorama('contenedor','array con opciones');
-El método setStreetView('clase StreetViewPanorama instanciada') te permite referenciar la vista street view de un contenedor a la georreferenciación de otro contenedor principal.
Creo que con esto deberías poder tirar. En todo caso, si nos concretas un poco mas lo que pretendes hacer que seguro que te podemos ayudar mejor.
Entendo que GE utiliza ortofotos de muy diversas fuentes. No tienes más que acercarte a una zona y ver como el copyrigth cambia (P.ej. acercate a las islas Canarias y veras como el Copyrigth de las imágenes es de GRAFCAN, empresa publica del Gobierno de Canarias)
El formato disponible varía. En andalucia son de Instituto Cartográfico de Andalucia y están en formato SID. Estas ortofotos son públicas y a veces gratuitas como en el caso de Castilla la Mancha (creo).
Si quieres alguna zona en concreto se podría buscar y seguro que Gvsig las lee sin problema.
Si quieres alguna zona sin afinar demasiado, siempre podrías guardarla como imagen la vista de GE y luego con unas coordenadas conocidas meterlo en un SIG.
Lamentablemente con gvsig no he profundizado pero con ARCGIS no hay problema.
He intentado descargar el programa google earth en un pc con windows 7 y cuando acerco un poco aparecen algunos techos totalmente blancos, en otro pc con windows vista no ocurre, ¿que puedo hacer?
Hola fercanez, Ya veo que lo has solucionado. Pero mi sugerencia iba por otro lado. Lo que te sugería es que el código comprobara la propiedad checked del objeto checkbox para saber si este está activo o desactivo, sin necesidad de usar tantas variables del tipo check1, check2...
¿que tal tus conocimientos en programación orientada a objetos?. Echale un ojo a www.webestilo.com/ ...js29.phtml y ejecuta el ejemplo que hay. Veras que al darle al link de ver valores te saca una ventana emergente con el valor de la propiedad en cuestión.
Si por despliegue de información te refieres al infobox que sale al clickar un polígono con información relativa al uso propuesto, delegación, UTP etc... a mí si que me sale en las tres vistas.
- No puedes utilizar una misma variable check para todas tus funciones add/remove overlay. La razón: Cargas tu primer overlay, por lo que check pasa a valer 1. Al intentar cargar un segundo overlay detecta check =1, se cree que la capa está ya cargada y no ejcuta el método remove overlay pasando el check a ser 0. Lo que es peor, si volvemos a pulsar sobre el checkbox por segunda vez ahora si que detecta el algoritmo check=0 y ejecuta el add overlay , cargando el shape cuando el checkbox esta desactivado. ¿Me explico?.
- Saca la leyenda del kml del centro pues no siempre el usuario va a tener esa capa activa. Yo cargaría un kml con la leyenda en la función initialize
- El tipo de mapa satélite es el mas vistoso, pero requiere mas recursos que la vista en modo mapa o relieve, ralentizando mucho a los usuarios con servidores flojos.
- El color pistacho, te han obligado, ¿verdad?. Es coña.
La verdad Lomd es que no veo donde puede estar el problema. Otros proyectos han solucionado el problema introduciendo en el código kml las etiquetas de LookAt o camera pero en tu web he cargado archivos con ambos casos y en ninguno de ellos ejecuta la vista. No se si tal vez en el momento de instanciar la ventana de GE, haya que habilitar o deshabilitar alguna opción para poder interpretar esa parte del código. pero es curioso que te cargue todo el contenido del kml (sea este un placemark o un polygon pero no te ejecute la parte de código del LookAt. Prueba a ejecutar este método desde javascript a ver si tienes mas suerte code.google.com/ ...ok_at.html y sobre todo code.google.com/ ...ntrol.html . porque yo reconozco que no alcanzo a ver el problema.
Muchas gracias por tu pronta respuesta y bueno con respecto de que no consigues ver los kml quizá es porque son pesados y otros porque son pequeños y están lejos de la vista. Voy a meter lo que me recomiendas y te volveré a molestar si es que tengo problemas. gracias de nuevo