Jump to content

Resultados estranhos


vrodrigues

Recommended Posts

Boa noite!

Eu estou aqui com um problema e o mais estranho é que isto dava.

Entao é o seguinte ,estou a fazer uma aplicação que ajuda na procura de emprego para isso existe uma opção para a procura de ofertas de emprego pela geolocalização, então eu tenho uma função php que recebe como parametros os seguintes valores :

.latitude e longitude do local em que o utilizador esta

o raio que o utilizador pretende pesquisar

e o que é que o utilizador pretende pesquisar

depois disto era suposto o php devolver apenas as ofertas de emprego que estivessem nesse raio. So que o resultado das distancia que dá são muito elevados. para os concelhos que existem na Base de dados. Por exemplo ele está a dizer que a distancia ente aveiro e lisboa sao 851km !

deixo aqui o codigo, alguem tem alguma ideia do que se passa?

$lat1 = $_GET['lat'];
$log1 = $_GET['log'];

$r = utf8_encode($_GET['raio']);
$latitude = floatval($lat1);
$longitude = floatval($log1);
$raio = floatval($r);
// estado = 1 -> geo || estado=2 ->cidade
$estado = $_GET['estado'];


if($estado==1){

$sql = "SELECT * FROM ofertas INNER JOIN concelhos ON ofertas.concelhos_idconcelhos = concelhos.idconcelhos WHERE ofertas.titulo like'$pesquisa'";
$query = mysql_query($sql);
$array = mysql_fetch_array($query);
$row = mysql_num_rows($query);
if ($row > 0) {
 $response = Array(); ;
 do {
        $tipo_output = "json";
         // pode ser utilizado o xml também
        $google_api = "0R4r34bcHA6I0Ppts5oHcxhgoPmdOvt4Hz2cA2w";
        // a API KEY do Google Maps
        //$google_api ="0R4r34bcHA6K3WJdurXwV1UW3WvI9NbwW_EA9-A";
        $cidade = $array['concelho'];
       //concelhos consoante a query
         $endereco_desejado = urlencode(utf8_encode("$cidade, PT"));

         $endereco_final = "http://maps.google.com/maps/api/geocode/json?address=" . $endereco_desejado . "&sensor=true";
         //chamada da API do google
         $string = file_get_contents($endereco_final);
          //resultado da API
          $json_a = json_decode($string);
          //json decoder

          //busca da lat e log
          $longitude2 = $json_a -> results[0] -> geometry -> location -> lng;
           $latitude2 = $json_a -> results[0] -> geometry -> location -> lat;

           //calculo da distancia 
           $earth_radius = 6371.0;
            $latitude1 = $latitude * pi() / 180.0;
           $longitude1 = $longitude * pi() / 180.0;
           $latitude2 = $latitude2 * pi() / 180.0;
           $longitude2 = $longitude2 * pi() / 180.0;
           $dLat = $latitude2 - $latitude1;
           $dLong = $longitude2 - $longitude1;

           $a = sin($dLat / 2) * sin($dLat / 2) + cos($latitude1) * cos($latitude2) * sin($dLong / 2) * sin($dLong / 2);

           $c = 2 * atan2(sqrt($a), sqrt(1 - $a));

            $resultado = intval($earth_radius * $c);

             // resultado em km.
             if ($resultado <= $raio) {
                     $response = utf8_decode($array['titulo']) . "|";
                      echo $response;
                     json_encode(utf8_encode($response));
                     $flag_r = true;
               }
      } while ($array = mysql_fetch_assoc($query));
 if ($flag_r == false) {
     $response = "Não existem ofertas";
     echo $response;
 }
}
json_encode(utf8_encode($response));
Edited by vrodrigues
Link to comment
Share on other sites

Se não indentares o código corretamente estás queimado, ninguém te consegue ajudar...

"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Link to comment
Share on other sites

porque ele não reconhe o asin... 😕

dá este erro : Warning: Wrong parameter count for asin() in XXX/teste.php on line 196

alteraste os argumentos da função como disse ?? aqui diz que é somente um parametro, de acordo com o pertendido

edit : tinha um link para documentação em C ... alterado para PHP

Edited by HappyHippyHippo
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.