Una vez sepas calcular la distancia en ruta entre dos puntos, necesitas aprender a programar un evento de escucha que al detectar un click en la pantalla te devuelva las coordenadas. Aquí uno de los miles de ejemplos: labs.reweb.com.ar/geoDigitalizador/
Para calcular la distancia mas corta, y dependiendo de como te quieras complicar la vida con la trigonometría esférica: www.movable-type.co.uk/ ...tlong.html
Tienes todo tipo de scripts ya completos. A ti te vendrá bien la aproximación de Haversine en javascript.
Buenos dias, en realidad me sirve de las dos maneras. He visto en algunos lugares que te detecta autimaticamente las rutas y carreteras, y crea las lineas sobre ellas, pero como te digo, para empezar, cualquiera de las dos estaria bien.
Gracias.
Buenas tardes a todos.
Estoy armando una aplicacion Web basada sobre Google Maps, utilizando la version 2.
Lo que estoy necesitando es implementar una solucion para medir distancias haciendo los clicks en los respectivos puntos y que me devuelva lo recorrido en Km.
Posiblemente este hilo ya este en otro foro, pero no lo pude encontrar
Necesitaria por favor que alguien me tire una idea, o al menos un ejemplo, como para poder comprender como funciona y despues modifiarlo a gusto.
Muchas gracias!
La cuestión es que al ser un mapa de 180 x 134 pixels, pues realmente me sobran todos los botones, ya que quitan demasiado espacio, no obstante por ejemplo el del zoom (o al menos sus funciones al hacer doble click) quisiera dejarlo, así que descarto la opción de poner un estático (al menos para esta ocasión).
Quería probar a hacerlo por url porque me parece infinitamente más simple, pero digamos que tengo un API preparado bastante complejo en una de las páginas así que podré reutilizar código, a ver que sale jeje.
Ahora estoy teniendo algún problema para trabajar con una imagen generada con StaticMap, pero le doy un par de vueltas antes de preguntar
A ver si te he entendido: te vendría bien disponer de los demás controles, pero el de tipo de mapa te sobra. Es decir que disableDefaultUI no te vale. De todos modos que sepas que con esta opción sigues disponiendo del Pan y del wheelscroll.
No es la solución idonea, pero si no encuentras el modo de eliminar el MapTypeControl el puedes probar esto:
Alponerlo en modo desplegable reducer el área ocupada
Si te manejas con php no será demasiado engorroso trabajar con el API de Gmaps. En la función initialize() sustituye los valores Lat, Long por constantes, y a esas constantes les asignas el retorno de una query hacia mysql.
Buenas! Digamos que es justo lo que no necesito, que salgan los botoncitos.
En cuanto a trabajar con el API ya lo tenía pensado, pero como última opción ya que tengo que recoger datos de una base mysql y se me torcía bastante la cosa, no obstante no me quedará otra si no logro hacerlo con el código del iframe.
Ayer estuve probándolo y me queda bastante bien con un mapa estático (img), me gustaría que se moviera por poder jugar con el zoom, pero... que le vamos a hacer...
Hoy voy a probar a ver si el mapa estático se lleva bien con un generador de pdf a través de php y si es así... se lleva la palma.
Muchas gracias de todos modos! La web que me pasaste ya la había visto alguna vez pero nunca está de más echarle otra ojeada!
Las solicitudes vía URL son un buen método para disponer de googlemaps en tu web sin necesidad de tener conocimientos de programación.
El problema es que al ser un método "simplificado", le faltan funcionalidades (o al menos no he encontrado el modo de conseguir lo que tú pides). No obstante se me ocurren dos modos:
1.- Puedes usar el API de Google Static Maps que convertirá tu mapa en una imagen estática (es decir que pierdes toda la funcionalidad) y que funciona tal que así:
<img src="http://maps.google.com/staticmap?center="TU LATITUD","TU LONGITUD"&zoom="TU ZOOM"&size="TU TAMAÑO"&maptype="ROADMAP/SATELLITE/TERRAIN/HYBRID"\
&key="DEBERAS SOLICITAR UN APIKEY GRATUITO PARA TU DOMINIO"/>
Efectivamente, la función se debería ejecutar solo cuando se compruebe que la altura es menor que una determinada . ¿Conoces las estructuras condicionales IF THEN...ELSE?
Le he echado un ojo al api de Google earth, y lo primero 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.
Por otro lado, he mirado en el API de Google y creo haber visto que hay manera de introducir markets una vez cargado el google maps, lo has provado?
Xavi
Sipes, lo he probado. La estructura (en su caso mas simple) sería:
var NOMBRE VARIABLE = new google.maps.Marker({ARRAY COORDENADAS,ASIGNACIÓN A UN MAPA})
Thanks, por el link. Me mirare a fondo esta API, seguro que le saco partido.
Lo probaré del tiron cuando tenga todas las latitudes y longitudes, si veo que tarda mucho (K era que si), cargare una parte en tiempo aceptable y el resto mediante js.
Por otro lado, he mirado en el API de Google y creo haber visto que hay manera de introducir markets una vez cargado el google maps, lo has provado?
Xavi
Sipes, lo he probado. La estructura (en su caso mas simple) sería:
var NOMBRE VARIABLE = new google.maps.Marker({ARRAY COORDENADAS,ASIGNACIÓN A UN MAPA})
...además, ten presente que 2000 ptos, independientemente de que cargue, o no deja un mapa emborronado y por lo tanto nada práctico.
Un saludo.
Gracias por responder,
La verdad es que ya lo habia pensado que iva a tardar mucho, hasta el momento no me cargaba la pagina ya que no tengo las latitudes y longitudes de cada market, y por lo tanto primero tenia que ir a buscarlas y luego visualizarlas.
Ahora ya estoy introduciento estas coordenadas para cada registro, una vez lo tenga lo probare y ya te dire como o no funciona.
Por otro lado, he mirado en el API de Google y creo haber visto que hay manera de introducir markets una vez cargado el google maps, lo has provado?
Cuando tenga noticias frescas os cuento.
Gracias
Xavi
pues de momento tengo hecho de manera que construyo una url a partir del fichero donde tengo los datos. La URL la guardo en un string y luego la sentencia que tengo hecha en java para que lanze el google maps es esta:
Aqui ya está incorporada la consulta a google.maps.
El tema es que de momento no he utilizado el API y aqui es donde esta la questión si necesitaré utilizarlo o no.
Lo que comentas de los objetos "objeto directionsService y la clase DirectionsRenderer", supongo que son de la API de google maps
Gracias por los comentarios y la rapidez de la respuesta.
soy nuevo en esto del google maps. Acabo de empezar.
Tengo hecha una aplicacion en java que me crea un fichero .txt con las coordenadas geograficas de diversas rutas (ruta 1: empieza en x i termina en y; ruta 2: empieza en z y termina en w).
Tengo que dibujar las diferentes rutas en un mismo mapa de google maps.
Desde el mismo programa de java consigo lanzar el google maps de manera que me muestre una ruta. Pero para no todas las rutas en el mismo mapa.
Por tanto estaba pensando en la posibilidad de subir el fichero txt a internet en un espacio donde tengo una web i desde la web capturar el fichero con el google maps con la API.
El tema es que no se si es lo correcto o se puede hacer de otra manera. Si es así supongo que seria utilizando el API de google maps, el cual no he visto todavia.
Hola a todos. Tengo la api de google maps en mi página web. Mi mapa lo presento en modo satélite, pero sale desactivado la pestaña de "superponer callejero". Quisiera saber como se puede activar por código.
Hola a todos: Tengo una aplicación en una página web con un api de google maps, y me muestra un fichero kml que genero.
El problema es que me muestra el mapa de España completo. Quisiera saber si se puede programar en el fichero kml que centre el mapa en la zona que están los iconos.
Gracias
Creo que se centra por defecto en la zona de los iconos.
Hola a todos: Tengo una aplicación en una página web con un api de google maps, y me muestra un fichero kml que genero.
El problema es que me muestra el mapa de España completo. Quisiera saber si se puede programar en el fichero kml que centre el mapa en la zona que están los iconos.
Cuando no carga el mapa suele ser indicativo (como tu bien has averiguado) de la imposibilidad de inicializar el mapa por un formato incorrecto de las coordenadas.
Trabajando con el API de Gmaps no te queda otra que trabajar con el formato correcto de WGS84 (cosa, por cierto que es lo recomendable).
Te recomiendo que para evitarte futuras sorpresas crees funciones tanto para adaptar tus datos, como para comprobar el correcto formato de los datos introducidos.
Es servidor local. Pero sabes, que me di cuenta que es el tipo de coordenada que le estoy ingresando, ya que en diferentes pruebas, me he dado cuenta que este es el tipo de coordenada que carga el mapa sin problemas Ej 21.9876, -32.3344 y yo estoy cargando 21 9.876, -32 3.344
Lamentablemente, no se puede modificar la api, para que cargue otro formato de coordenada, ya que en google maps las coordenadas que yo le estoy cargando funcionan perfectamente.
¡¡Toma ya!!
Perdon por el mensaje, resulta que ya lo habíais comentado
Pero ahora surge la duda:
¿se puede utilizar el API sin necesidad de mostrar el mapa?
Lo digo porque según las condiciones de uso, es necesario mostrarlo.
¿estás instanciando todos tus markers con la misma variable "marker "?. Entiendo que si.
Puede que me equivoque, pero como estás instanciando todos los marker igual, (y asignandoles a todos el mismo infowindow) es imposible a priori mediante código discriminar aquellos markers que quieras deshechar. Tal vez la variable "this" te de una opción.
Centrandonos en tu pregunta, no existe en el API de Gmaps code.google.com/ ...tml#Marker ningún metodo del objeto "marker" que te permita cerrarlo al estilo .close del infowindow. Lo que si puedes es establecer las propiedades .visible y .clickable a false.