06/11/2009, 07:28
|
| | Fecha de Ingreso: noviembre-2007
Mensajes: 65
Antigüedad: 17 años Puntos: 0 | |
Respuesta: Iconos personalizados API google Maps Ahi dejo el codigo, tengo 3 tipos de marcas que depende de unos indices, me carga los iconos donde corresponde pero no me hace el click, si quito la sentencia del GMarker, me carga los iconos predeterminados de google, los naranjas y me deja hacer click pero con iconos personales no... :( no se por que... y es el mismo codigo que hay en un ejempo de google que funciona bien el click: ( http://www.guiarte.com/mapas-google/...b/ej_icono.php)
Código:
////////////////////////////////////////////////////////////////
// Funcion que al hacer click en hipervinculo salta el bocadillo __________________NO FuNCIONA
////////////////////////////////////////////////////////////////
function clicMarca(marca) {
if (GBrowserIsCompatible() && cargado) {
GEvent.trigger(marca, "click");
}
}
var cargado=false;
//////////////////////////////////////////////////////////////
// Funcion de carga de datos en el mapa
//////////////////////////////////////////////////////////////
function load() {
//////////////////////////////////////////////////////////////
// Propiedades del mapa
//////////////////////////////////////////////////////////////
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
var zoom = 7;
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.addControl(new GOverviewMapControl());
map.setCenter(new GLatLng(37.352692,-4.746093), zoom);
///////////////////////////////////////////
// Estilo iconos
///////////////////////////////////////////
var iconoMarca1 = new GIcon(G_DEFAULT_ICON); iconoMarca1.image = "green-dot.png";
var tamanoIcono1 = new GSize(30,30); iconoMarca1.iconSize = tamanoIcono1;
var tamanoSombra1 = new GSize(22,18); iconoMarca1.shadowSize = tamanoSombra1; iconoMarca1.iconAnchor = new GPoint(11, 16);
var iconoMarca2 = new GIcon(G_DEFAULT_ICON); iconoMarca2.image = "red-dot.png";
var tamanoIcono2 = new GSize(30,30); iconoMarca2.iconSize = tamanoIcono2;
var tamanoSombra2 = new GSize(22,18); iconoMarca2.shadowSize = tamanoSombra2; iconoMarca2.iconAnchor = new GPoint(11, 16);
var iconoMarca4 = new GIcon(G_DEFAULT_ICON); iconoMarca4.image = "blue-dot.png";
var tamanoIcono4 = new GSize(30,30); iconoMarca4.iconSize = tamanoIcono4;
var tamanoSombra4 = new GSize(22,18); iconoMarca4.shadowSize = tamanoSombra4; iconoMarca4.iconAnchor = new GPoint(11, 16);
////////////////////////////////////////////////////////////////////////////////////////////
// Creacion de puntos y marcadores con su descripcion en el bocadillo
////////////////////////////////////////////////////////////////////////////////////////////
function CrearMarca(miMarca,type){
//map.addOverlay(miMarca);
//////////////////////////////////////////////////////
// Conicion para presentar marcadores segun el zoom...
if(type==1)
{
mgr.addMarker(miMarca, 7, 7);
}
else{
mgr.addMarker(miMarca, 8, 8);
}
GEvent.addListener(miMarca, "click", function (punto){
var html = "<table><tr><td>Latitud: </td><?php echo $a; ?>º <?php echo $minutos_la; ?>' <?php echo $segundos_la; ?>''N <td></tr>" +
"<tr><td>Longitud: </td><?php echo $grados_lo; ?>º <?php echo $minutos_lo; ?>' <?php echo $segundos_lo; ?>''W <td></tr>" + punto.x +
"<tr><td>NODO: </td><input type='text' id='descripcion' value=<?php echo "NODO_01"; ?> /></td> </tr>" +
"<tr><td>Descripcion: </td><td><input type='text' id='descripcion' value=<?php echo "Descripcion_01"; ?> /></td> </tr>" +
"<tr><td>Tipo: </td> <td><select id='type'>" +
"<option value='1' SELECTED>1</option>" + "<option value='2'>2</option>" +
"<option value='4'>4</option>" + "</select> </td></tr>" +
"<tr><td><input type='button' value='Grabar' onclick='saveData()'/></td>" +
"<td><input type='button' value='Borrar' onclick='deleteData()'/></td>" +
"<td><input type='button' value='Inicio Arco' onclick='inicioArco(punto)'/></td>" +
"<td><input type='button' value='Fin Arco' onclick='finArco()'/></td></tr></table>";
miMarca.openInfoWindowHtml(html); });
return miMarca;
}
<?php
$conexion=mysql_connect("localhost","root",'root'); mysql_select_db("gol");
$resultado=mysql_query('SELECT * FROM nodos ',$conexion);
$i=0;
while($fila = mysql_fetch_array($resultado))
{
$la[$i]=$fila["la"];
$lo[$i]=$fila["lo"];
$Tipo[$i]=$fila["Tipo"];
$nombre[$i]=$fila["Descripcion"];
$nodo[$i]=$fila["Nodo"];
?>
var type = <?php echo $Tipo[$i]; ?>;
var la= <?php echo $la[$i]; ?>;
var lo=<?php echo $lo[$i]; ?>;
var mgr = new MarkerManager(map);
var point = new GLatLng(<?php echo $la[$i]; ?> , <?php echo $lo[$i]; ?>);
var miMarca = new GMarker(point, iconoMarca<?php echo $Tipo[$i]; ?>, { draggable: true}); //
CrearMarca(miMarca,type);
<?php
$i++;
}
$reg_nodos=$i;
mysql_close();
?>
|