después de una rato de divagar utilice un case se que el ciclo nunca ira mas aya de 4 iteraciones así que decidí hacer esto.
seguiré buscando como hacerlo de manera mas compacta XD.
les dejo la pagina completa para que le echen un ojo.
Código HTML:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=KEY&sensor=FALSE"></script>
<link rel="stylesheet" href="css/style.css"></link>
<script type="text/javascript">
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(23.7333,-99.1333),
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map_direcciones = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
//capturamos la URL y la descomponemos
var Url = location.href;
Url = Url.replace(/.*\?(.*?)/,"$1");
Variables = Url.split ("&");
for (i = 0; i < Variables.length; i++) {
Separ = Variables[i].split("=");
eval ('var '+Separ[0]+'="'+Separ[1]+'"');
}
//Para comprobarlo:
var strcoordenadas = coordenadas.substring(0, coordenadas.length-1);
var strdirecciones = direcciones.substring(0, direcciones.length-1);
var strtipo = tipo.substring(0, tipo.length-1);
var matriscoordenadas = strcoordenadas.split('@');
var matrisdirecciones = strdirecciones.split('@');
var matristipo = strtipo.split('@');
//hay que hacer mas puntos de estos con php//
for(e = 0; e < matriscoordenadas.length; e++){
matriscoordenadas[e] = matriscoordenadas[e].replace('%20', '');
var cor = matriscoordenadas[e].split(',');
matrisdirecciones[e] = matrisdirecciones[e].replace('%20', ' ');
var contador = e + 1;
var contenido = '<div id="tooltip"> <h1>Direccion '+ contador +'</h1> <p> <b>Dirreccion:</b>'+ matrisdirecciones[e] +'</p><p><b>Tipo:</b>'+ matristipo[e] +'</p></div>';
//hacer 3 o 4 puntos
direccion = new google.maps.LatLng(cor[0],cor[1]);
//crendo puntos con un case
switch (e){
case 0:
var detalle_direccion1 = new google.maps.Marker({
position: direccion,
map: map_direcciones,
title: 'Detalle de la Direccion',
draggable: true
})
var infodireccion1 = new google.maps.InfoWindow({
content:contenido
});
google.maps.event.addListener(detalle_direccion1,'click',function(){
infodireccion1.open(map_direcciones,detalle_direccion1);
});
break
case 1:
var detalle_direccion2 = new google.maps.Marker({
position: direccion,
map: map_direcciones,
title: 'Detalle de la Direccion',
draggable: true
})
var infodireccion2 = new google.maps.InfoWindow({
content:contenido
});
google.maps.event.addListener(detalle_direccion2,'click',function(){
infodireccion2.open(map_direcciones,detalle_direccion2);
});
break
case 2:
var detalle_direccion3 = new google.maps.Marker({
position: direccion,
map: map_direcciones,
title: 'Detalle de la Direccion',
draggable: true
})
var infodireccion3 = new google.maps.InfoWindow({
content:contenido
});
google.maps.event.addListener(detalle_direccion3,'click',function(){
infodireccion3.open(map_direcciones,detalle_direccion3);
});
break
case 3:
var detalle_direccion4 = new google.maps.Marker({
position: direccion,
map: map_direcciones,
title: 'Detalle de la Direccion',
draggable: true
})
var infodireccion4 = new google.maps.InfoWindow({
content:contenido
});
google.maps.event.addListener(detalle_direccion4,'click',function(){
infodireccion4.open(map_direcciones,detalle_direccion4);
});
break
}
///fin del case para la creacion de puntos
//hasta aqui un solo punto//
}
};
$(document).ready(function(){
initialize();
})
</script>
</head>
<body>
<div id="map_canvas">
<!-- Aqui ira el Mapa -->
</div>
</body>
</html>