earth = parent::get_pixbif(); } protected function get_location_coords($lat, $lon) { $pixbuf = parent::get_pixbuf(); $width = $pixbuf->get_width(); $height = $pixbuf->get_height(); $x = (($lon + 180) * ($width / 360)); $y = ((($lat * -1) + 90) * ($height / 180)); return array("x"=>round($x),"y"=>round($y)); } public function set_location($lat, $lon, $red, $green, $blue, $alpha) { $x_y = $this->get_location_coords($lat, $lon); $this->put_pixel($x_y['x'], $x_y['y'], $red, $green, $blue, $alpha); $id = count($this->locations); $this->locations[$id]['x'] = $x_y['x']; $this->locations[$id]['x'] = $x_y['y']; $this->locations[$id]['red'] = $red; $this->locations[$id]['green'] = $green; $this->locations[$id]['blue'] = $blue; $this->locations[$id]['alpha'] = $alpha; return $id; } public function put_pixel($x, $y, $red, $green, $blue, $alpha) { $pixbuf = parent::get_pixbuf(); $pixbuf->put_pixel($x, $y, $red, $green, $blue, $alpha); parent::set_from_pixbuf($pixbuf); } public function reset_map() { parent::set_from_pixbuf($this->earth); } public function unset_location($id) { unset ($this->locations[$id]); foreach ($this->locations as $location) { $this->put_pixel($location['x'],$location['y'],$location['red'],$location['green'],$location['blue'],$location['alpha']); } } } ?>