[opengeodb] Fehler bei Orte in der Umgebung!! Brauche Hilfe
W.Jansen--www.hopezi.de
wjansen at ems-it.de
Fre Mar 21 16:51:20 CET 2008
Hallo,
Ich finde eure Datenbank echt super! Nur leider bekomme ich die Location.php
nicht richtig zum laufen!
Das einzeichnen auf der Karte mit dem Punkt funktioniert soweit gut, nur die
Orte im Umkreis von 10 KM werden nicht angezeigt!
Hat hier jemand eine funktionierende Location.php bei der das geht! Irgendwo
ist da ein Fehler in der Datenbankabfrage.(Denke ich, weiss aber nicht wo)
Die Suche funktioniert soweit auch die Detail Angaben nur halt nicht der
Umkreis.
Wäre nett wenn mir da jemand helfen kann. Oder mir eine Funktionierende
Location.php zu Verfügung stellen kann
Auszug aus meiner Location.php:
// Orte in der Umgebung finden
$treffer = $geodb->findCloseByGeoObjects($ort, 10, false);
$home = $ort;
if (is_array($treffer) && count($treffer)>1)
{
echo '<div style="border-bottom:1px solid #CCCCCC;"><b>Orte im
Umkreis von 10 km</b></div><br>';
echo '<ol>';
foreach ($treffer AS $ort)
{
if($home->dbValues["loc_id"] !=
$ort->dbValues["id"])
{
echo '<li>';
if ($ort->dbValues['typ']>6)
{
echo '<a
href="'.$_SERVER['PHP_SELF'].'?id='.$ort->dbValues['id'].'&q='.$_GET['q'].'"
>'.$ort->dbValues['name'].'</a>';
}
else
{
echo '<b><a
href="'.$_SERVER['PHP_SELF'].'?id='.$ort->dbValues['id'].'&q='.$_GET['q'].'"
>'.$ort->dbValues['name'].'</a></b>';
}
echo '<br>';
echo '<small>';
// Land / Bundesland / Regierungsbezirk /
Landkreis:
for($n = 2; $n < 6; $n++)
{
if ($n == 4) { // Skip Regierungsbezirk
continue;
}
$sql3 = 'SELECT text_val '.
'FROM
geodb_hierarchies hi,
geodb_textdata td '.
'WHERE hi.loc_id =
'.$ort->dbValues["id"].'
and td.loc_id = hi.id_lvl'.$n.'
and text_type = 500100000
and is_default_name = 1 '.
'ORDER BY
hi.valid_until DESC';
$tx = $geodb->performQuery($sql3);
if (is_array($tx) && count($tx)>=1)
{
echo ($n != 2?' >
':'').$tx[0]->dbValues["text_val"];
}
}
// Verwaltungsgemeinschaft:
$sql3 = 'SELECT text_val '.
'FROM geodb_textdata '.
'WHERE loc_id = '.$ort->dbValues["id"].'
and text_type = 500700000
and is_default_name = 1 '.
'ORDER BY valid_until DESC';
$tx = $geodb->performQuery($sql3);
if (is_array($tv) && count($tx)>=1)
{
echo ' > '.$tx[0]->dbValues["text_val"];
}
// Stadt/Gemeinde bei Ortsteilen:
if ($ort->dbValues["typ"]>6)
{
$sql3 = 'SELECT text_val '.
'FROM geodb_hierarchies hi,
geodb_textdata td '.
'WHERE hi.loc_id =
'.$ort->dbValues["id"].'
and td.loc_id = hi.id_lvl6
and text_type = 500100000
and is_default_name = 1 '.
'ORDER BY hi.valid_until DESC';
$tx = $geodb->performQuery($sql3);
if (is_array($tv) && count($tx)>=1)
{
echo ' > '.$tx[0]->dbValues["text_val"];
}
}
echo '<br>Entfernung: '.$home->getDistanceString($ort).'';
echo '</small>';
echo '</li>';
}
}
echo '</ol>';
}
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: http://lists.phpbar.de/pipermail/opengeodb/attachments/20080321/edafcbaf/attachment-0001.htm