function CargarMapa(latitud,longitud,imgMap){
var directionDisplay = new google.maps.DirectionsRenderer();
var directionsService = new google.maps.DirectionsService();
var lat = "";
var long = "";
var myOptions = {
zoom: 16,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var Empresalatlng = new google.maps.LatLng(latitud,longitud);
var map = new google.maps.Map(document.getElementById("mapa"), myOptions);
map.setCenter(Empresalatlng);
directionDisplay.setMap(map);
var MiposicionControlDiv = document.createElement('DIV');
var MiposicionControl = new MiPosicionControl(MiposicionControlDiv);
MiposicionControlDiv.index = 1;
map.controls[google.maps.ControlPosition.TOP_RIGHT].push(MiposicionControlDiv);
//Etiqueta del anuncio
setMarkers(map,"",latitud,longitud);
function MiPosicionControl(controlDiv) {
controlDiv.style.paddingTop = '7.5px';
var controlUI = document.createElement('SELECT');
controlUI.setAttribute('class','tiporuta');
var elegir = document.createElement('OPTION');
var opcCaminando = document.createElement('OPTION');
opcCaminando.setAttribute('value','WALKING');
var opcAuto = document.createElement('OPTION');
opcAuto.setAttribute('value','DRIVING');
var opcAutobus = document.createElement('OPTION');
opcAutobus.setAttribute('value','BICYCLING');
elegir.innerHTML = 'Como Llego Aquí';
opcCaminando.innerHTML = '1.- Ire caminando';
opcAuto.innerHTML = '2.- Ire en automóvil';
opcAutobus.innerHTML = '3.- Ire en autobus';
controlUI.appendChild(elegir);
controlUI.appendChild(opcCaminando);
controlUI.appendChild(opcAuto);
controlUI.appendChild(opcAutobus);
controlUI.style.fontSize = '11px';
controlUI.title = 'Obten la ruta para llegar desde tu ubicación.';
controlDiv.appendChild(controlUI);
google.maps.event.addDomListener(controlUI,'click',function(){
$('.tiporuta').change(function() {
ObtenerPosicionDeUsuario(controlUI.value);
});
});
}
function setMarkers(map,posicionuser,lat,long) {
var ImagenSeleccionada = "";
if(posicionuser == ""){
ImagenSeleccionada = base_url+'imagenes/iconosmapa/'+imgMap+'.png';
}else if(posicionuser == "user"){
ImagenSeleccionada = base_url+'imagenes/iconosmapa/posicion.png';
}
var image = new google.maps.MarkerImage(ImagenSeleccionada,
new google.maps.Size(50,50),
new google.maps.Point(0,0),
new google.maps.Point(0, 50));
var shadow = new google.maps.MarkerImage(base_url+'imagenes/iconosmapa/sombra.png',
new google.maps.Size(100, 50),
new google.maps.Point(0,0),
new google.maps.Point(0, 50));
var shape = {
coord: [1, 1, 1, 20, 18, 20, 18 , 1],
type: 'poly'
};
var myLatLng = new google.maps.LatLng(lat,long);
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
shadow: shadow,
icon: image,
shape: shape,
title: 'Titulo Publicidad',
});
}
function ObtenerPosicionDeUsuario(TRuta){
if (navigator.geolocation) { // Preguntar si el navegador soporta geolocalizacion
navigator.geolocation.getCurrentPosition(function(position) { //obtener nuestra posicion
var PosicionUsuario = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
map.panTo(PosicionUsuario); //Mover el mapa hasta la nueva posicion geolocalizada
setMarkers(map,"user",position.coords.latitude,position.coords.longitude);
CrearRuta(PosicionUsuario,TRuta);
}, function() {
alert("No se encontro tu ubicación");
});
}
}
function CrearRuta(PosicionUsuario,ModoRuta) {
var request = {
origin: PosicionUsuario,
destination: Empresalatlng,
optimizeWaypoints: true,
travelMode: google.maps.DirectionsTravelMode[ModoRuta]
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionDisplay.setDirections(response);
}else{
alert("No pudo crearse una ruta.");
}
});
}
}