Witam,
korzystałem ze strony: http://krzysztofplaczek.name/main/articles/show/google_maps_v3___wyszukiwanie_na_mapie_wraz_z_markerami_i_dymkami_informacyjnymi
Stworzyłem swoją mapę, po kliknięciu powinno pokazywać mi obiekty w jakimś promeniu x km, niestety nie pobiera mi danych z mojej bazy MYSQL. Czy jest to może wina poniższego kodu?
Plik: loadpoints.php
$pdo = new PDO('mysql:host=localhost;dbname=nazwa;charset=UTF-8', 'login', 'pass', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
if (isset($_GET['lat'][0]) && isset($_GET['lng'][0]))
{
switch ($_GET['type'])
{
case 1:
$type = ' AND type = "Bankomaty PEKAO SA"';
break;
case 2:
$type = ' AND type = "Bankomaty PKO BP"';
break;
case 3:
$type = ' AND type = Bankomaty BZWBK';
break;
default:
$type = '';
break;
}
switch ($_GET['distance'])
{
case 1:
case 5:
case 10:
case 20:
case 50:
case 100:
$distance = $_GET['distance'];
break;
default:
$distance = 10;
break;
}
switch ($_GET['number'])
{
case 10:
case 20:
case 30:
$number = ' LIMIT ' . $_GET['number'];
break;
case 0:
$number = '';
break;
default:
$number = ' LIMIT 10';
break;
}
$query = 'SELECT *, acos(sin(radians(lat))*sin(radians(:lat))+cos(RADIANS(lat))*cos(radians(:lat))*cos(RADIANS(lng-:lng)))*6371 as distance
FROM `gps`
WHERE acos(sin(radians(lat))*sin(radians(:lat))+cos(RADIANS(lat))*cos(radians(:lat))*cos(RADIANS(lng-:lng)))*6371 < :distance' . $type . '
ORDER BY distance asc ' . $number;
$stmt = $pdo->prepare($query);
$stmt->bindValue(':lat', $_GET['lat']);
$stmt->bindValue(':lng', $_GET['lng']);
$stmt->bindValue(':distance', $distance);
$stmt->execute();
echo json_encode($stmt->fetchAll(PDO::FETCH_ASSOC));
}
[1, 2, 3]
to poprawna konstrukcja w PHP? ;p