//VARIABLE Conde de Peñalver 51: //array(2){["latitude"]=>float(40.4363505) ["longitude"]=>float(-3.685144)} //Los marcadores identifican a los globitos o chinchetas en el mapa. //El formato de los indices del array a pasar en el constructor debe ser el siguiente: //title : es equivalente al "tooltiptext" que aparece cuando se pasa el puntero //por encima. //content: el valor que se mostrará en el popup informativo. Se puede incluir html, //controles y eventos. //latitude, longitude: coordenadas de tipo real //PENDIENTE: Un indice "address" para poder crear un marcador directamente desde //este dato. De momento no lo hace. //El orden de los arrays anidados influira en el número que se asigna al marcador. $arMarcadores[] = array("title" => "uno ", "content" => "<b>Content 1</b><input type=\"text\" value=\"marcador uno\">", "latitude" => "40.5475437", "longitude" => "-3.6420912"); $arMarcadores[] = array("title" => "dos ", "content" => "<b>Content 2</b>", "latitude" => "40.4363505", "longitude" => "-3.685144"); $arMarcadores[] = array("title" => "tres ", "content" => "<b>Content 3</b>", "latitude" => "41.4166909", "longitude" => "-3.7003454"); $oGoogleMap = new HelperGoogleMaps3($arMarcadores); //Configuramos el zoom $oGoogleMap->set_zoom(7); //Dibujamos las lineas entre los marcadores (pines) //$oGoogleMap->draw_lines(); //Tamaño del mapa $oGoogleMap->set_size_container(500, 500); $oGoogleMap->set_size_unit('pt'); $oGoogleMap->draw_routes(); $oGoogleMap->set_route_color("black"); $oGoogleMap->set_marker_color("green"); $oGoogleMap->set_route_width(2); //No se mostrarán numeros en los pines de googlemaps //$oGoogleMap->set_markers_numbers_off(); //Calcula la distancia entre las chinchetas $fDistancia = $oGoogleMap->sum_distance();
function get_markers_and_stops($arTrazados, $iNumRuta = "") { //bug($arTrazados); //Objeto vacio. Necesario para calcular distancia y tiempo $oGoogleMap3 = new HelperGoogleMaps3(); $arMarkers = array(); $arStops = array(); $arReturn = array(); //Pasar de rutas a marcadores: if (!empty($arTrazados)) { //Datos de la parada inicial. Se usará para calcular tiempo y distancia //a las paradas $arParadInicial["latitude"] = $arTrazados[0]["Latitud"]; $arParadInicial["longitude"] = $arTrazados[0]["Longitud"]; $arParadInicial["hora"] = $arTrazados[0]["Hora"]; $iNumParada = 0; foreach ($arTrazados as $i => $arTrazado) { //bug($i); $sLatitude = $arTrazado["Latitud"]; $sLongitud = $arTrazado["Longitud"]; $isParada = $arTrazado["Esparada"] == "1"; //Para las paradas distintas a la inicial if ($i > 0) { //Si es un punto mayor al inicial y es parada calculo distancia y tiempo if ($isParada) { $sHora = $arTrazado["Hora"]; $iAlumnosSuben = $arTrazado["Alumnos_Suben"]; $iAlumnosBajan = $arTrazado["Alumnos_Bajan"]; $arStops[] = $i; $iNumParada++; //Datos para calculo de tiempo y distancia desde la parada 0 $arDestino = array("latitude" => $sLatitude, "longitude" => $sLongitud); //bug($arParadInicial,"parinic"); bug($arDestino,"destino $i"); $arDistanciaHora = $oGoogleMap3->get_distance_and_time($arParadInicial, $arDestino); //bug($arDistanciaHora,"distancia hora$i"); //die; $sDistancia = $arDistanciaHora["distance"]["km"]; $sTiempo = custom_calculate_interval($arParadInicial["hora"], $sHora); } else { $sTitulo = ""; $sContenido = ""; } } else { $isParada = true; $arStops[] = $i; $iNumParada++; $sHora = $arTrazado["Hora"]; $iAlumnosSuben = $arTrazado["Alumnos_Suben"]; $iAlumnosBajan = $arTrazado["Alumnos_Bajan"]; $sDistancia = 0; $sTiempo = 0; } //si es parada se crea titulo y contenido if ($isParada) { $sTitulo = $arTrazado["Parada"]; $sContenido = "<b>" . $sTitulo . "</b><br/>"; $sContenido .= "<div id=\"divParada_{$iNumRuta}" . "_" . "{$iNumParada}\" style=\"border:1px solid black; text-align:left; padding:4px;\">"; $sContenido .= "Detalle de la parada: {$iNumParada} <br/>"; $sContenido .= "Hora de la parada: {$sHora}<br/>"; $sContenido .= "Alumnos que suben: {$iAlumnosSuben} <br/>"; $sContenido .= "Alumnos que bajan: {$iAlumnosBajan} <br/>"; $sContenido .= "Distancia del trayecto: {$sDistancia}<br/>"; $sContenido .= "Tiempo del trayecto: {$sTiempo}"; $sContenido .= "</div>"; } $arMarkers[] = array("title" => $sTitulo, "content" => $sContenido, "latitude" => $sLatitude, "longitude" => $sLongitud); //$sTitulo = ""; } //Fin foreach de paradas } //bug($arMarkers); $arReturn["markers"] = $arMarkers; $arReturn["stops"] = $arStops; //bug($arReturn); return $arReturn; }