Skip to content

Instantly share code, notes, and snippets.

@comtom
Last active September 27, 2015 04:58
Show Gist options
  • Select an option

  • Save comtom/1215810 to your computer and use it in GitHub Desktop.

Select an option

Save comtom/1215810 to your computer and use it in GitHub Desktop.
<?php
if (isset($_POST['submit'])) {
$debug = True;
$calle = $_POST['calle'];
$interseccion = $_POST['interseccion'];
$intersecciones = array(
'Peralta Ramos',
'Del Valle',
'Alem',
'Irigoyen Bdo.',
'Pellegrini',
'Urquiza',
'Paz',
'Rivas',
'Lavalle',
'Paunero',
'Mendoza',
'Viamonte',
'Alvear',
'Güemes',
'Olavarría',
'Alsina',
'Sarmiento',
'Las Heras',
'Lamadrid',
'Arenales',
'Tucuman',
'Buenos Aires',
'Entre Rios',
'Corrientes',
'Santa Fe',
'Santiago del Estero',
'Córdoba',
'San Luis',
'Mitre',
'Yrigoyen H.',
'La Rioja',
'Catamarca',
'Independencia',
'Salta',
'Jujuy',
'España',
'20 de Septiembre',
'14 de Julio',
'Dorrego',
'Guido',
'Funes',
'Olazabal',
'San Juan',
'Pampa',
'Chaco',
'Misiones',
'Italia',
'Neuquén',
'Don Bosco',
'Francia',
'Jara',
'1ro de Mayo',
'Roldán B.',
'Uruguay',
'Chile',
'México',
'Perú',
'Tierra del fuego',
'Los Andes',
'Malvinas',
'Juncal',
'Montes',
'Champagnat'
);
// El siguiente array es para las continuaciones para el lado del puerto
// gmaps no esta andando bien pasando jb justo - lo dejamos pa dp
/*
$intersecciones2 = array(
'Martinez de Hoz',
'Del Valle',
'Alem',
'Irigoyen Bdo.',
'Pellegrini',
'Urquiza',
'Paz',
'Rivas',
'Lavalle',
'Paunero',
'Mendoza',
'Viamonte',
'Alvear',
'Güemes',
'Olavarría',
'Alsina',
'Sarmiento',
'Las Heras',
'Lamadrid',
'Arenales',
'Tucuman',
'Buenos Aires',
'Entre Rios',
'Corrientes',
'Santa Fe',
'Santiago del Estero',
'Córdoba',
'San Luis',
'Mitre',
'Yrigoyen H.',
'La Rioja',
'Catamarca',
'Independencia',
'Salta',
'Jujuy',
'España',
'20 de Septiembre',
'14 de Julio',
'Dorrego',
'Guido',
'Funes',
'Olazabal',
'San Juan',
'Pampa',
'Chaco',
'Misiones',
'Italia',
'Neuquén',
'Don Bosco',
'Francia',
'Jara',
'1ro de Mayo',
'Roldán B.',
'Uruguay',
'Chile',
'México',
'Perú',
'Tierra del fuego',
'Los Andes',
'Malvinas',
'Juncal',
'Montes',
'Champagnat',
);
*/
$nrointerseccion = 0;
for($i=0;$i<count($intersecciones);$i++) {
if ($intersecciones[$i] == $interseccion) {
$nrointerseccion = $i * 100;
}
/*
if ($intersecciones2[$i] == $interseccion) {
$nrointerseccion = $i * 100;
$nrointerseccion = $nrointerseccion + 3;
}
*/
}
$rounded = get_coords($calle . ' ' . $nrointerseccion);
$marker = $rounded['lat'] . ',' . $rounded['lng'];
}
function get_coords($calle) {
$ruta = ',+mar+del+plata,+argentina';
$direccion = trim($calle);
$direccion = str_replace(' ', '+', $direccion);
$params = 'http://maps.google.com/maps/api/geocode/json?address=' . $direccion . $ruta . '&sensor=false';
$geocode = file_get_contents($params);
$output = json_decode($geocode);
$cord['lat'] = $output->results[0]->geometry->location->lat;
$cord['lng'] = $output->results[0]->geometry->location->lng;
return $cord;
}
?>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<style type="text/css">
body { margin: 0px; padding: 0px }
#map_canvas { width: 640px; height: 480px; }
</style>
<title>iBondi</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
function initialize() {
var myLatlng = new google.maps.LatLng(
<?php
if ($marker != '') {
echo $marker;
}
else {
// vamos al casino
echo '-38.004237, -57.542524';
}
?>
);
var myOptions = {
zoom: 16,
center: myLatlng,
navigationControl: false,
mapTypeControl: false,
scaleControl: false,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var image = new google.maps.MarkerImage(
'img/image.png',
new google.maps.Size(45,93),
new google.maps.Point(0,0),
new google.maps.Point(23,93)
);
var shadow = new google.maps.MarkerImage(
'img/shadow.png',
new google.maps.Size(95,93),
new google.maps.Point(0,0),
new google.maps.Point(23,93)
);
var shape = {
coord: [20,0,23,1,25,2,26,3,27,4,28,5,29,6,29,7,29,8,29,9,29,10,29,11,29,12,29,13,29,14,29,15,29,16,29,17,29,18,29,19,29,20,29,21,29,22,29,23,29,24,29,25,29,26,29,27,29,28,29,29,29,30,28,31,28,32,28,33,27,34,27,35,27,36,26,37,26,38,25,39,25,40,25,41,24,42,24,43,23,44,23,45,23,46,22,47,22,48,21,49,21,50,20,51,20,52,19,53,19,54,18,55,18,56,17,57,17,58,16,59,16,60,15,61,14,61,14,60,13,59,13,58,12,57,12,56,11,55,10,54,10,53,10,52,9,51,9,50,8,49,8,48,7,47,7,46,6,45,6,44,5,43,5,42,5,41,4,40,4,39,3,38,3,37,3,36,2,35,2,34,1,33,1,32,1,31,1,30,0,29,0,28,0,27,0,26,0,25,0,24,0,23,0,22,0,21,0,20,0,19,0,18,0,17,0,16,0,15,0,14,0,13,0,12,0,11,0,10,0,9,0,8,0,7,0,6,1,5,2,4,2,3,4,2,6,1,8,0,20,0],
type: 'poly'
};
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
draggable: false,
icon: image,
shadow: shadow,
shape: shape,
title:"¡Querés ir aquí!"
});
myInfoWindowOptions = {
content: '<div class="info-window-content"><h4>¡Querés ir aquí!</h4><p>Esquina: <?php echo $_POST['calle'] . ' y ' . $_POST['interseccion']; ?></p></div>',
maxWidth: 275
};
infoWindow = new google.maps.InfoWindow(myInfoWindowOptions);
google.maps.event.addListener(marker, 'click', function() {
infoWindow.open(map,marker);
});
google.maps.event.addListener(marker, 'dragstart', function(){
infoWindow.close();
});
// para que se abra la ventanita sola
//infoWindow.open(map,marker);
}
</script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/jquery-ui.min.js"></script>
<link href='http://fonts.googleapis.com/css?family=Droid+Sans&subset=latin' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="css/ui-lightness/jquery-ui-1.8.6.custom.css" />
<link rel="stylesheet" type="text/css" href="css/estilo.css" />
<link rel="icon" href="favicon.ico" type="image/x-icon">
</head>
<body onload="initialize()">
<?php
if ($nrointerseccion == 0 and $calle != '') {
echo '<div id="error" class="ui-state-error ui-corner-all" ><p><span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span>Es posible que su busqueda no sea demasiado precisa. Compruebe la ortograf&iacute;a</p></div>';
}
if ($debug) {
echo '<div id="debug" class="ui-state-highlight ui-corner-all"><p><span class="ui-icon ui-icon-info" style="float: left; margin-right: .3em;"></span>';
echo $_POST['calle'] . ' y ' . $_POST['interseccion']. '<br />';
echo $marker . '<br />';
echo $nrointerseccion . '</p></div>' ;
}
?>
<div class="box">
<form name="" method="post" action="">
<div id="titulo" class="ui-tabs ui-widget ui-widget-content ui-corner-all">
<ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header">
<!--<li>¿D&oacute;nde est&aacute;s?</li>-->
<li>¿A d&oacute;nde vas?</li>
</ul>
</div>
<div class="clear"></div>
<div class="ui-widget">
<label for="calle">Calle: </label>
<input id="calle" type="text" name="calle" onBlur="selvector()" value="<?php echo $calle; ?>" />
</div>
<div class="ui-widget">
<label for="interseccion">Interseccion: </label>
<input id="interseccion" type="text" name="interseccion" value="<?php echo $interseccion; ?>" />
</div>
<div class="clear"></div>
<input type="submit" value="Enviar" name="submit" id="submit" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only ui-state-hover" role="button" />
</form>
</div>
<div id="map_canvas"></div>
<script>
// 2 arrays con las calles paralelas
// hay que agregarle mas dimensiones segun "continuaciones de la calle" halla.
var calles = [
"Estrada",
"Aguirre",
"Alice",
"Storni",
"Mugaburu",
"Segastizabal",
"Acevedo",
"Daprotis",
"Mariani",
"Lijo López",
"Aragón",
"Cataluña",
"Constitución",
"Valencia",
"Gomara",
"Arenal",
"F. Acosta",
"Pena",
"Cardiel",
"Gerónimo Rejón",
"Strobel",
"Falkner",
"Rio Negro", //cambian nombre
"Sta Cruz",
"Beruti",
"French",
"Brandsen",
"Necochea",
"Ituzaingó",
"Ayacucho",
"Chacabuco",
"Maipu",
"Libertad",
"Balcarce",
"11 de Septiembre",
"3 de Febrero",
"9 de Julio",
"25 de Mayo",
"Luro",
"San Martín",
"Rivadavia",
"Belgrano",
"Moreno",
"Bolivar",
"Colon",
"Brown",
"Falucho",
"Gascon",
"Alberti",
"Rawson",
"Garay",
"Castelli",
"Alvarado",
"Avellaneda",
"San Lorenzo",
"Roca",
"Peña",
"Primera Junta",
"Saavedra",
"Quintana",
"Matheu",
"Formosa",
"Almafuerte",
"Laprida",
"Paso",
"Vieytes",
"Larrea",
"Azcuénaga",
"Pringles",
"O'Higgins",
"Rodriguez M.",
"López V.",
"Juan B. Justo", //cambian nombre
"Juan de Solis",
"Gaboto",
"El Cano",
"12 de Octubre",
"Magallanes",
"Ayolas",
"Irala",
"Ortiz de Zárate",
"Hernandarias",
"Guanahani",
"San Salvador",
"Vertiz",
"Azopardo",
"Bouchard",
"Rosales",
"Tripulantes del Fournier",
"Soler",
"Araña y Goiri",
"Carasa",
"Fortunato de La Plaza",
"Lebenshon",
"Puan",
"Nápoles",
"Génova",
"Sicilia",
"Calabria",
"Gutemberg",
"Morris William",
"Güiraldes",
"Garcia Lorca",
"Lynch Benito",
"Mario Bravo",
];
var intersecciones = [
"Peralta Ramos",
"Del Valle",
"Alem",
"Irigoyen Bdo.",
"Pellegrini",
"Urquiza",
"Paz",
"Rivas",
"Lavalle",
"Paunero",
"Mendoza",
"Viamonte",
"Alvear",
"Güemes",
"Olavarría",
"Alsina",
"Sarmiento",
"Las Heras",
"Lamadrid",
"Arenales",
"Tucuman",
"Buenos Aires",
"Entre Rios",
"Corrientes",
"Santa Fe",
"Santiago del Estero",
"Córdoba",
"San Luis",
"Mitre",
"Yrigoyen H.",
"La Rioja",
"Catamarca",
"Independencia",
"Salta",
"Jujuy",
"España",
"20 de Septiembre",
"14 de Julio",
"Dorrego",
"Guido",
"Funes",
"Olazabal",
"San Juan",
"Pampa",
"Chaco",
"Misiones",
"Italia",
"Neuquén",
"Don Bosco",
"Francia",
"Jara",
"1ro de Mayo",
"Roldán B.",
"Uruguay",
"Chile",
"México",
"Perú",
"Tierra del fuego",
"Los Andes",
"Malvinas",
"Juncal",
"Montes",
"Champagnat",
//continuaciones (empezando desde la costa)
"Martinez de Hoz",
];
var aux= calles.concat(intersecciones);
var aux2= new Array();;
var termine= 0;
$(function() {
$( "#calle" ).autocomplete({
source: aux,
minLength: 3,
});
});
function selvector() {
for(var i=0;i<calles.length;i++){
if(calles[i]==calle.value){
aux2= intersecciones;
alert('vector calles. pos: ' + i);
termine= '1';
break;
}
}
if (termine != '1'){
for(var i=0;i<intersecciones.length;i++){
if(intersecciones[i]==calle.value){
aux2= calles;
alert('vector inter. pos: ' + i);
termine= '1';
break;
}
}
}
termine= 0;
};
$(function() {
$( "#interseccion" ).autocomplete({
//source: intersecciones,
source: aux2,
minLength: 3,
});
});
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment