+ $lat = urlencode(round($coords[0], 5));
+ $lon = urlencode(round($coords[1], 5));
+ $target = $tmsserver;
+ if($marker > 0)
+ $target .= '?mlat='.$lat.'&mlon='.$lon;
+ $target .= '#map='.intval($zoom).'/'.$lat.'/'.$lon;
+ }
+ }
+
+ if ($target == "") {
+ $target = $nomserver.'?q='.urlencode($item['location']);
+ }
+
+ if ($item['location'] != "") {
+ $title = $item['location'];
+ } else {
+ $title = $item['coord'];
+ }
+
+ $item['html'] = '<a target="map" title="'.$title.'" href= "'.$target.'">'.$title.'</a>';
+}
+
+
+function openstreetmap_generate_named_map(&$a, &$b)
+{
+ $nomserver = Config::get('openstreetmap', 'nomserver');
+ if(! $nomserver)
+ $nomserver = 'http://nominatim.openstreetmap.org/search.php';
+ $args = '?q=' . urlencode($b['location']) . '&format=json';
+
+ $x = Network::curl($nomserver . $args);
+ if($x['success']) {
+ $j = json_decode($x['body'],true);
+
+ if($j && is_array($j) && $j[0]['lat'] && $j[0]['lon']) {
+ $arr = ['lat' => $j[0]['lat'],'lon' => $j[0]['lon'],'location' => $b['location'], 'html' => ''];
+ openstreetmap_generate_map($a,$arr);
+ $b['html'] = $arr['html'];