Nextrek
Diff Revisions
255
vs
258
for /Android/SmartCharging/endPoints/LocalRepository.php
|
@@ -173,6 +173,45 @@ |
173 |
173 |
|
return 1; |
174 |
174 |
|
} |
175 |
175 |
|
} |
|
176 |
+ |
|
|
177 |
+ |
public function getCloseLocals($tipologia, $lat, $lon, $distance) { |
|
178 |
+ |
$local_list = array(); |
|
179 |
+ |
|
|
180 |
+ |
$harvesinFormulaSQL = "SELECT id, lat, lon, tipologia, nomelocale, |
|
181 |
+ |
( 6371 * acos( cos( radians(".$lat.") ) * cos( radians( lat ) ) * cos( radians( lon ) - radians(".$lon.") ) + sin( radians(".$lat.") ) * sin( radians( lat ) ) ) ) AS distance |
|
182 |
+ |
FROM locale |
|
183 |
+ |
WHERE tipologia='".$tipologia."' |
|
184 |
+ |
HAVING distance < ".$distance/1000.0." |
|
185 |
+ |
ORDER BY distance"; |
|
186 |
+ |
//ORDER BY distance LIMIT 0 , 20"; //nel caso in cui si voglia introdurre il limite di locali vicini |
|
187 |
+ |
|
|
188 |
+ |
//echo "<br/>".$harvesinFormulaSQL."<br/>"; |
|
189 |
+ |
|
|
190 |
+ |
try { |
|
191 |
+ |
$query = $this->db->query($harvesinFormulaSQL); |
|
192 |
+ |
|
|
193 |
+ |
if (!$query) return null; |
|
194 |
+ |
|
|
195 |
+ |
$rows = $query->fetchAll(PDO::FETCH_ASSOC); |
|
196 |
+ |
|
|
197 |
+ |
foreach ($rows as $row) { |
|
198 |
+ |
$local = array(); |
|
199 |
+ |
$local["id"] = $row["id"]; |
|
200 |
+ |
$local["lat"] = $row["lat"]; |
|
201 |
+ |
$local["lon"] = $row["lon"]; |
|
202 |
+ |
$local["tipologia"] = $row["tipologia"]; |
|
203 |
+ |
$local["nomelocale"] = $row["nomelocale"]; |
|
204 |
+ |
|
|
205 |
+ |
array_push($local_list, $local); |
|
206 |
+ |
} |
|
207 |
+ |
|
|
208 |
+ |
return $local_list; |
|
209 |
+ |
|
|
210 |
+ |
} catch (PDOException $e) { |
|
211 |
+ |
echo $e->getMessage(); |
|
212 |
+ |
return null; |
|
213 |
+ |
} |
|
214 |
+ |
} |
176 |
215 |
|
} |
177 |
216 |
|
|
178 |
217 |
|
?> |