Hi,
ich versuche zur Zeit, eine Umkreissuche zu programmieren. Normalerweise sollten die Markierungen über die Variable “$poi” positioniert werden. Aber das funktioniert nicht. Könnt Ihr mir helfen? Hier der Script:
<?php $lat=51.20418118214776; $long=7.1737611293792725; // Umkreissuche in einem Gebiet von 6 KM $uk1=$long-0.04200; $uk2=$lat-0.02700; $uk3=$long+0.04200; $uk4=$lat+0.02700; $ja1 = file_get_contents('http://nominatim.openstreetmap.org/search?viewbox='.$uk1.','.$uk2.','.$uk3.','.$uk4.'&bounded=1&format=json&polygon=0&addressdetails=1&q=schule&limit=999'); // ohne Angabe von Limit=999, werden nur die ersten 10 Ergebnisse ausgegeben $jb1 = json_decode($ja1); $ja2 = file_get_contents('http://nominatim.openstreetmap.org/search?viewbox='.$uk1.','.$uk2.','.$uk3.','.$uk4.'&bounded=1&format=json&polygon=0&addressdetails=1&q=kindergarten&limit=999'); // ohne Angabe von Limit=999, werden nur die ersten 10 Ergebnisse ausgegeben $jb2 = json_decode($ja2); $ja3 = file_get_contents('http://nominatim.openstreetmap.org/search?viewbox='.$uk1.','.$uk2.','.$uk3.','.$uk4.'&bounded=1&format=json&polygon=0&addressdetails=1&q=supermarkt&limit=999'); // ohne Angabe von Limit=999, werden nur die ersten 10 Ergebnisse ausgegeben $jb3 = json_decode($ja3); $a=0; $anzahl=count($jb1); while ($a<$anzahl) { if ($jb1[$a]->address->school=="") { $art="Schule"; } else { $art=$jb1[$a]->address->school; } $ic1=$jb1[$a]->lat."\t".$jb1[$a]->lon."\t \t".utf8_decode($art)."\tsymbole/schule.png\t32,37\t-16,-18"."\t"; //Tabelle aufbauen (siehe [http://wiki.openstreetmap.org/wiki/Openlayers_POI_layer_example)](http://wiki.openstreetmap.org/wiki/Openlayers_POI_layer_example)) $schule=$schule.$ic1; $a++; } $a=0; $anzahl=count($jb2); while ($a<$anzahl) { if ($jb2[$a]->address->kindergarten=="") { $art="Kindergarten"; } else { $art=$jb2[$a]->address->kindergarten; } $ic1=$jb2[$a]->lat."\t".$jb2[$a]->lon."\t \t".utf8_decode($art)."\tsymbole/kgarten.png\t32,37\t-16,-18"."\t"; //Tabelle aufbauen (siehe [http://wiki.openstreetmap.org/wiki/Openlayers_POI_layer_example)](http://wiki.openstreetmap.org/wiki/Openlayers_POI_layer_example)) $kgarten=$kgarten.$ic1; $a++; } $a=0; $anzahl=count($jb3); while ($a<$anzahl) { if ($jb3[$a]->address->supermarket=="") { $art="Supermarkt"; } else { $art=$jb3[$a]->address->supermarket; } $ic1=$jb3[$a]->lat."\t".$jb3[$a]->lon."\t \t".utf8_decode($art)."\tsymbole/smarkt.png\t32,37\t-16,-18"."\t"; //Tabelle aufbauen (siehe [http://wiki.openstreetmap.org/wiki/Openlayers_POI_layer_example)](http://wiki.openstreetmap.org/wiki/Openlayers_POI_layer_example)) $smarkt=$smarkt.$ic1; $a++; } $poi=$schule."\t".$kgarten."\t".$smarkt; // Tabellen zusammenfassen ?>Momentan rufe ich für jedes Genre (Schule, Kindergarten und Supermarkt) die nomination Seite erneut auf. Gibt es hier auch einen effizienteren Weg?
Mich würde auch interessieren, ob wirklich ein Bereich von ca. 6 KM abgedeckt wird
Könnte man den Button auch so programmieren, das bei jedem Klick die Pois eingeblendet bzw. ausgeblendet werden?