Un cliente me ha pedido poder usar la funcionalidad de Google Earth en una web. Yo he utilizado la api de Google Maps pero lo que el cliente quiere es que además, pueda el usuario interaccionar con el mapa al igual que se hace con Google Earth, por ejemplo el efecto zoom acercándose al punto, o las imágenes en 3D. No se si esto se puede hacer con la api actual de Google Maps o existe algún desarrollo de terceros que pueda hacer esto.
He probado con la versión web de Google Earth pero no me permite incrustarla en mi sitio web.
Buenos dias. Estoy haciendo un ejercicio que no me sale, por favor su apoyo con las indicaciones.
1) Un archivo KML se abre en excel y da coordenadas decimales, pero al volver a cargar las mismas al maps o earth me sale movido decenas de metros de la posicion original. ¿Que puedo hacer o que estoy haciendo mal?
2) La otra opcion que se me ocurre es poder abrir el archivo KML como XML para extraer directamente la información de lo que he colocado en mi layer o ejercicio. ¿Que programa online o gratis puedo usar para poder abrir este archivo y poder hacerlo asi?
PD: Soy usuario básico y no tengo ayuda de programadores, asi que cualquier solucion que me puedan dar les agradeceria enormemente.
Buenas noches, hace un tiempo necesite transformar archivos de excel a KML, me fue muy útil esta herramienta (pero solo acepta hasta 200 registros): www.earthpoint.us/exceltokml.aspx
Si tienen mas datos pueden usar esta macro:
Sub KML_DPTO()
Dim temp As String
Dim latitud As String
Dim longitud As String
Dim descripcion As String
Dim name As String
Dim j As Integer
Open "D:\carpeta\Nombre del archivo.kml" For Output As #1
Hola polifemo. Te muestro un pequeño avance más. La aplicación que estoy haciendo, además de mostrar la cartografía, le he puesto una opción para mostrar parcelas.En cada parcela aparece una marca de posición con información de su perímetro y su superficie. "Mola mazo". jejeje. Seguimos progresando. Saludos.
P.D.: Cualquier sugerencia será bien recibida.
Acabo de llegar de viaje robierzo. Y veo que te has empleado a fondo el fin de semana. Una evolución tremenda, mis felicitaciones!!!.
Veo además que has empezado a utilizar html, que dará a tu rutina un extra interesante. La una duda que me entra es que las marcas de posición se renderizan con cada nuevo zoom, por lo que si amplias el zoom el tamaño de las marcas aumentan mientras no lo hace (lógicamente) la parcela, y eso puede desvirtuarte la visibilidad del mapa.
¿No te sale mas a cuenta usar el campo descripción del polígono? también admite html.
... <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.
Lo que pasa que al intentar cargar un kml desde un servidor externo (usar el link vinculado a la pagina) al mio, me lo carga de manera correcta , pero al intentar vincular un kml guardado en mi misma carpeta raiz no me lo carga...
¿Alguien sabe el por que?
No importa si uso la api de google earth o la de google maps, me interesa que el kml me lo cargue desde mi propio servidor y no de uno externo, de igual forma, no importa si es tengo que pagar por alguna licencia, me interesa saber si se puede o no cargar...
Y una extra... es saber si puedo generar kml desde la misma api de google maps/earth!
Muchísimas gracias de antemano!!
PD. Uso la api de google maps en este momento y asi cargo mis direcciones al servidor externo
for(var i=0;i<direcciones.length;i++)
{
new google.maps.KmlLayer(""+direcciones).setMap(map);
}
Hola de nuevo. Podía haberlo puesto en el mensaje anterior pero como es un problema diferente no quiero mezclar cosas. El tema es el siguiente:
Tengo un ResulSet, donde guardo el resultado de un selet de una bbdd. De ahí saco las coordenadas para dibujar un camino en el mapa GMpas. Hasta aquí todo va bien. Sin embargo, si mi consulta devuelve más de un camino, empiezan los problemas. Hago lo siguiente:
ResultSet consulta;
...
while(consulta.next()){
...
mostrar camino en google maps, pero este camino quiero que quede visualizado hasta que el usuario pulse un boton que dice ver siguiente camino.
...
}
Pero el bucle no se espera a que el usuario quiera. He pensado hacerlo con wait() y notify() interrumpiendo el hilo pero me parece complicado a parte que solo se pueden usar estos métodos en bloques java sincornizados.
Hola a todos de nuevo. Esta vez les quería preguntar sobre los estilos de CSS. Como ya puse en comentarios anteriores, yo tengo un mapa de google, y cada vez que hago click saltan dos eventos, uno me dibuja una marca y el otro me abre la ventana de esta marca. El tema es que tengo la página decorada con un estilo de CSS y al abrir la ventana de la marca se abre con los estilos descritos en el CSS, que es otro archivo a parte. Mi pregunta es ¿Hay alguna manera de anular esto solo para esa parte de mi página web?
No sé si será la pregunta básica pero en CSS estoy un poco pez y como es usar mi módulo los estilos que usa la aplicación a la que pertenece, yo no los he generado.
Yo pasé exáctamente por tu mismo problema, y la solución que encontré fué usando la función eval() de php.
No recuerdo si tu trabajabas con php o con otros lenguajes.
Con Eval y un contador daba nombres distintos a cada Marker y a cada evento asociado con el Marker, de modo que tenía controlado sobre que Marker particular porvocaba cada evento.
Otra solución que tendrías, en principio mas elegante por no usar la función eval() y que está muy desaconsejada es agrupar todos los Marker y sus eventos en un array. El subíndice de la posición que ocupan en el array sería el identificador del Marker.
A ver si estos días, cuando esté en casa busco mis códigos y te lo subo para que tengas un ejemplo.
Ya tengo una hecha con Flash (Air)
funciona muy bien, pero leí en google maps que dejaron de avanzar.
Ahora estoy migrando a Delphi para usar javascript.
Primero tuve que decidir entre 2 opciones.
el componente de browser está el de Microsoft Explorer
y uno de Chrome.
Lo que veo que que los mapas funcionan mucho mejor con Chrome que con Explorer, entonces insisto en usar un componente que use Chrome.
Tengo 2 opciones
Delphi Chromium Embedded
y un Frame que hizo Google que funciona pero por alguna razón que desconozco no se ve ninguna página que corresponda a google. Osea que no sirve.
El Delphi Chromium Embedded
funciona bien, pero no tiene el mismo rendimiento que usar directamente Chrome.
Y el problema más grande es que no se compara el rendimiento de la versión nueva cuando se le agrega waypoints, rutas y mapas, Flash maneja muy bien y eficiente todo el tema de las imágenes
en cambio el javascript del browser se pone lentisimo y pesado.
Así que no se que hacer
ya invetigué por todos lados y no me puedo decidir si seguir con lo viejo o hacer algo nuevo que solo funcione en una computadora muy rápida.
Trabajo en HTML y PHP uso MYSQL
Pero no soy experto, podrias decir por ej:
con este codigo enlazas el mapa a tu web, con este otro en tal renglon enlazas a la base de datos, con este otro al dar click se guarda la info y asi,,,
un tutorial mejor dicho si no es mucho pedir, gracias.
AngelDm, ¿en que lenguaje trabajas?. ¿Y laBBDD, que gestor es?.
Yo en casos parecidos he usado javascript para capturar los valores en variables o campos "Hidden" de formularios al pulsar un botón, o capturando el evento de "click" en pantalla.
Y luego, con las coordenadas capturadas vincula una función, o un formulario donde insertes la query.
Pero claro, es que no se que tal te desenvuelves programando.
Lo que pretendes es posible, e incluso simple. En este enlace tienes un ejemplo de como generar un placemark al pulsar sobre el mapa. Puedes adaptar dicho código para que el objeto con propiedades "e.latLng" capturado por el evento previamente declarado en lugar de crear un placemark, inserte los valores en una SQL de inserción de datos.
¿Me explico?.
Si te entiendo, la logica pero no conosco la manera de insertar el codigo y enlazar a una SQL, podrias ayudar?
Gracias y Feliz Año
Lo que pretendes es posible, e incluso simple. En este enlace tienes un ejemplo de como generar un placemark al pulsar sobre el mapa. Puedes adaptar dicho código para que el objeto con propiedades "e.latLng" capturado por el evento previamente declarado en lugar de crear un placemark, inserte los valores en una SQL de inserción de datos.
Me gustaria saber como hacer o si hay un script o algo que permita poner un mapa de google earth en mi pagina web y que las personas que entren puedan marcar su posicion y que yo en mi base de datos sepa donde cada pesona marco su posicion les mando un ejemplo:
El enlace es un concurso de una pagina web donde toman y suben una foto y las personas (cualquier usuario de facebook) marca la posicion donde cree que esa persona tomo la foto, supongo que va a la base de datos y la persona que mas se acerco gana premio.
Buenas,
tengo una duda...
he generado un fichero .kml que he colgado en un servidor interno de mi empresa.
Al usar Network Link no me coge los datos que están alojados en este servidor.
Estoy empezando con esto de google maps y tengo que hacer una aplicacion en java que dandome un archivo GPX tenga que visualizarse en google maps.
He estado mirando el foro y he visto este tema www.google-earth.es/ ...sc&start=0 pero no me ha aclarado mucho.
Mi duda es saber como se puede hacer. He estado investigando y he encontrado la aplicacion gpsdings para poder pasar de GPX a KMZ pero por restricciones del proyecto no puedo utilizarla. Asi que mi duda es si existe algun conversor libre de GPX a KMZ??? O se puede visializar directamente el archivo GPX????
Reconozco que me he lllevado una sorpresa al ver que la clase kmlLayer del APIv3 no carga archivos gpx. A fin de cuentas ambos formatos vienen del XML. ¿Has encontrado algún modo de cargar XML, GML y demás en el nuevo API?.
Volviendo a la versión dos: He encontrado este artículo que aborda la problemática de leer el formato xml y usar sus coordenadas para establecer placemarks mediante el API de gmaps. Creo que podrás abordarlo.
UN AVISO: podría ocurrir que el formato GPX no cumpla con todos los estándares XML. Y dado que estás usando una funcionalidad orientada al formato XML, pues tal vez surjan problemas.