This repository has been archived by the owner on Jul 26, 2023. It is now read-only.
/
EGMapPoint.php
89 lines (86 loc) · 2.33 KB
/
EGMapPoint.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<?php
/**
*
* EGMapPoint Class
*
* @author Antonio Ramirez Cobos
* @link www.ramirezcobos.com
*
*
* @copyright
*
* Copyright (c) 2010 Antonio Ramirez Cobos
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software
* and associated documentation files (the "Software"), to deal in the Software without restriction,
* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
* The above copyright notice and this permission notice shall be included in all copies or substantial
* portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
* LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
* NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
*/
class EGMapPoint {
/**
*
* X coordenate
* @var integer x
*/
private $_x;
/**
*
* Y coordenate
* @var integer y
*/
private $_y;
/**
*
* Class constructor
* @param integer $x
* @param integer $y
*/
public function __construct( $x=0, $y=0 )
{
$this->setCoordX($x);
$this->setCoordY($y);
}
/**
*
* Sets X coordenate of the point
* @param integer $x
*/
public function setCoordX( $x ){
if( !is_numeric($x) )
throw new CException(Yii::t('EGMap','X Coordenate must be a numeric string or a number!'));
$this->_x = $x;
}
/**
*
* Sets Y coordenate of the point
* @param integer $y
*/
public function setCoordY( $y ){
if( !is_numeric($y) )
throw new CException(Yii::t('EGMap','Y Coordenate must be a numeric string or a number!'));
$this->_y = $y;
}
/**
*
* returns array representation of the coords
*/
public function toArray(){
return array('x'=>$this->_x, 'y'=>$this->_y);
}
/**
* @return string Javascript code to return the Point
*/
public function toJs()
{
return ' new google.maps.Point('.$this->_x.','.$this->_y.')';
}
}