Sin el código fuente no puedo determinar si tienes un error de sintaxis o si aún arrastras funcionalidad de la versión antigua de gmaps. Pero te recomiendo la lectura del siguiente artículo. Vete directamente al final donde tienes una captura de un infowindows con formulario e inmediatamente arriba el código donde poder "copipastear".
Buenas _polifemo. Estoy realizando la migración a la API V3 de google. Muy tarde por mi parte pero bueno. ¿Cómo se haria esto mismo con esta nueva versión? Al cambiarlo, en la clase infoWindow el botón onClick no funciona. No sé si es que en esta versión no lo permiten.
Buenos días a todos. ¿Todo bien? Vuelvo a solicitar vuestra ayuda ya que para concluir mi PFC mi tutora me ha pedido hacer una cosa que no tengo claro si se peude hacer.
En mi mapa de goole maps, si clickeo con el ratón se me dibuja un GMarker, si lo hago otra vez, se me genera un segundo GMarker, ¿hay alguna posibilidad de que entre estos dos se creen automáticamente GMarkers cada 2 metros (por ejemplo)??
...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;
function initialize() {
panoClient = new GStreetviewClient();
map = new GMap2(document.getElementById("map_canvas"));
map.setCenter(new GLatLng(21.165844,-86.843491), 15);
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
houseMarker = new GMarker(new GLatLng(21.165844,-86.843491), {draggable: true});
map.addOverlay(houseMarker);
<% String [] latlng =coord[0].split(",");
Double lat = Double.parseDouble(latlng[0]);
Double lng = Double.parseDouble(latlng[1]);
%>
var madrid = new GLatLng(<%=lat%>,<%=lng%>);
Evidentemente enteros con decimales no existen. Esto es lo que pasa cuando llevas unas horas intentando sacar lo mismo.
Muy buenas a todos. Tengo un pequeño problema a ver si alguien poeude ayudarme.
Necesito dibujar Gpolyline y unos GMarker de los cuales obtengo la coordenadas para sus constructores desde una BBDD. He probado a hacer lo siguiente:
for (j=1;j<=<%=coord.length%>;j++){
if (j=1)
var marker1 = new Marker(<%=coord%>,G_DEFAULT_ICON,false);
var marker = new GMarker(<%=coord%>,G_DEFAULT_ICON,false);
var polyline = new GPolyline([<%=coord%>,<%=coord%>],#FF0000", 20, 1);
pero esto no me funciona. Creo que es porque lo que obtengo de la BBDD (coord que es String) no es de tipo GLatLng. ¿Hay alguna manera de convertirlo a este tipo de variable?
La siguiente función recibe como parámetro las coordenadas del marker y crea uno nuevo con nombre y eventos distintos según sea el valor capturado en la variable "nombre".
Por ejemplo, si captura Copenhague, creará el Gmarker de nombre "Marker_Conpenhague", con su Infowinow "infowindow_Copenhague" y un evento "click" relacionado directamente con este marker que activa solo el infowindow correspondiente.
function crea_marker_array(posicion){
var nombre = document.getElementById("nombre_destino").value;
var titulo = nom_viaje;
var descripcion = document.getElementById("descripcion").value;
var contentString='<div id="content">'+
'<div id="siteNotice"></div>'+
'<h3 id="firstHeading" class="firstHeading"><CENTER>'+nombre+' / '+titulo+'</CENTER></h3>'+
'<div id="bodyContent">'+
'<HR>'+
'<p><CENTER>'+descripcion+'</CENTER></p>'+
'<CENTER><A HREF="http://www.unapaginaweb.com"target="_blank"><IMG SRC="http://www.rutadondealojamoslaimagen.jpg"></CENTER>'+
'</A>'+
'</div>';
eval("var infowindow_"+nombre+" = new... Leer más ...
Yo es que estoy usando javascript. Es cierto que tengo los GMarkers en un array metidos, cada uno tiene su índice, pero a la hora de clickear alguno no sé cual estoy clikeando, porque en ejecución esto no se puede saber. No sé si me estoy explicando bien. De todos modos agradecería mucho el que me subieras un ejemplo con eval().
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.
hola de nuevo, después de mis vacaciones he vuelto con mi proyecto, y de nuevo tengo algunas dudas:
Yo tengo un mapa de google maps (como dije en algún mensaje anterior), y voy pinchando en él para crear un camino. Cada click del ratón me crea un GMarker que voy guardando en un array de GMarkers. Estos tiene asociada una ventana que se abre si se pincha, y se puedeahí seleccionar si quiere girar a la derecha o a la izquierda. El problema viene porque estas ventanas de los GMarkers se tienen que ir abriendo y seleccionando en orden, porque sino no correspondería "Selección de dirección/Gmarker". Luego la pregunta es, ¿cómo puedo saber qué GMarker estoy clikando en cada momento?
POngo esto por si a alguien más le sirve de ayuda, finalmente lo conseguí así:
var html= .....
onclick=\"saveData(marker,document.f.dir[0].checked,document.f.dir[1].checked,document.f.extra.value) </form>";
Te falta un "punto y coma", supongo que solo aquí y no en el código.
Por otro lado, ¿puedes pasar por la función un elemento como el marker?, y aún pudiendo, ¿lo va a reconocer como tal?.
Pasa como segundo y tercer parámetro los valores de los textos derecha e izquierda, a ver que tal.
Al pulsar el botón yo quiero coger en la función savedata que es lo que marcó el usuario. Y si escribió algo.
He estado probando con el método que me has dicho, pero tampoco sé usarlo muy bien. Mañana probaré de nuevo.
Buenas serdj, ponme un poco al día de tu metodología:
1.- ¿Entiendo que trabajas con el API de gmaps?, ¿o el de Gearth?.
2.-Suponiendo que es gmaps, imagino que tienes preparada la respuesta del evento 'on click' para que:
2.1.- Capture las coordenadas y entonces por código creas el marker y su infowindow (new google.maps.Marker/InfoWindow), y en el infowindow has metido el código Html.
2.2.- Quieres (¿mediante javascript?) obtener los datos del formulario (supongo de un Input type="Text").
Si es así, creo que tu opción es utilizar el método Getelementbyid, usa este ejemplo.
Hola, antes de nada disculparme porque puse mi mensaje en otro tema que no tenía nada que ver y no me di cuenta.
Y aquí va mi pregunta:
yo tengo un mapa de google, y voy pinchando en él generando GMarkers. Al pulsar en estos se me abre una ventana. En esta ventana tengo un formulario y un input type ="button", que al pulsarlo ejecuto una función. El problema que tengo es que en esta función quiero obtener los datos introducidos en el formulario que tengo dentro de la ventana del marker.
¿Alguien sabe cómo hacer esto? Llevo investigando varios días y no encuentro la solución.
function initializar() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("proyectoUmag"));
map.setCenter(new GLatLng(<?php echo '$b' ?>), 10);
map.setUIToDefault();
map.addOverlay(new GMarker(new GLatLng(<?php echo '$b' ?>)));
}
}
</script>
</head>
<body onload="initializar()" onunload="GUnload()">
<div id="proyectoUmag" style="width: 500px; height: 500px"></div>
</body>
</html>
<?php
<?php
include("conectar.php");
$sql = "SELECT MAX(id) FROM coordenada";//Selecciona el id maximo de BD $consult = mysql_query($sql); $t = mysql_fetch_array($consult); $sql = ("SELECT (coord0)FROM coordenada where id='$t[0]'");//Selecciona la ultima coordenada por la condicion de where $consult1... Leer más ...
hola
estoy usando la api GMAP en una aplicacion web (aspx), donde inserto en el objeto mapa unas marcas con unas etiquetas. os copio abajo el codigo que uso para insertar en mi mapa los marcadores:
GMarker marker = new GMarker(point, icon);
GInfoWindow window1 = new GInfoWindow(marker, strMarker, false, GListener.Event.click);
GMap1.addInfoWindow(window1);
GMap1.enableHookMouseWheelToZoom = true;
Mi pregunta es como puedo borrar los markers (NO TODOS, SOLO ALGUNOS) insertados en mi mapa, y si existe alguna funcion que me permita eso.