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: