1: <?php
2:
3: /**
4: * Define an interface for geo-tagging entities.
5: *
6: * @package Elgg.Core
7: * @subpackage SocialModel.Locatable
8: */
9: interface Locatable {
10: /**
11: * Set a location text
12: *
13: * @param string $location Textual representation of location
14: *
15: * @return bool
16: */
17: public function setLocation($location);
18:
19: /**
20: * Set latitude and longitude tags for a given entity.
21: *
22: * @param float $lat Latitude
23: * @param float $long Longitude
24: *
25: * @return bool
26: */
27: public function setLatLong($lat, $long);
28:
29: /**
30: * Get the contents of the ->geo:lat field.
31: *
32: * @return int
33: */
34: public function getLatitude();
35:
36: /**
37: * Get the contents of the ->geo:lat field.
38: *
39: * @return int
40: */
41: public function getLongitude();
42:
43: /**
44: * Get the ->location metadata.
45: *
46: * @return string
47: */
48: public function getLocation();
49: }
50: