Skip to content

xajax GetCoordinates using google maps example

levhita edited this page Jun 12, 2011 · 1 revision
function getCoordinates($data){
    require_once TO_ROOT . "/includes/MyCurl.inc.php";

    $objResponse = new xajaxResponse();

    $url="http://maps.google.com/maps/geo?q=". rawurlencode("{$data['estate']} {$data['city']}") . "&output=csv";
    $Curl=new MyCurl($url);
    $Curl->createCurl();
    $success=false;
    switch($Curl->getHttpStatus()){
      case 500:
        $objResponse->alert('Problemas con el servidor de Google');
        break;
      case 601:
      case 602:
      case 603:
        $objResponse->alert('No se ha podido obtener la coordenada porque maps.google.com no conoce el lugar del que hablas');
        break;
      case 610:
      case 620:
        $objResponse->alert('maps.google.com le ha negado el servicio al servidor');
        break;
     case 404:
        $objResponse->alert('El servidor no se pudo conectar a maps.google.com');
        break;
     case 200:
        $success=true;
    }
    if($success){
      $coordinates =explode(',',$Curl);
      $accuracy= $coordinates[1];
      $latitude= $coordinates[2];
      $longitude= $coordinates[3];
      if($accuracy <=2){
        $objResponse->alert('La precisión de las coordenadas es muy baja, intente ser más especifico o buscar manualmente las coordenadas');
      } else {
        $objResponse->assign('coordinates', 'value', "$longitude, $latitude");
        $objResponse->assign('view_in_map', 'innerHTML',
        "<a href=\"http://maps.google.com/?q=".rawurlencode("$latitude, $longitude")."\" target=\"_blank\">Ver en Mapa</a>");
      }
    }
    return $objResponse;
  }
Clone this wiki locally