php google api インターフェース プログラム
php google api インターフェース プログラム
これは、Google マップを生成するための完全に機能的なクラスです。 複数のクラスのカスタマイズが可能で、ユーザーは JavaScript や Google Maps API の知識がなくても、数分で Web サイトを迅速に実装できます。
class phproogleMap {
/*
* @Google APIキー
*/
private $apiKey ;
/*
* @地図のズームレベル
*/
private $mapZoom = 8 ;
/*
* @マップの幅 div
*/
private $mapWidth = 350 ;
/*
* @マップの高さ div
*/
private $mapHeight = 300 ;
/ *
* @マップ センター
*/
private $mapCenter ;
/*
* マップ タイプの配列
*/
private $googleMapTypes ;
/*
* @マップ タイプ
*/
private $ mapType = 'normal' ;
/*
* @マーカーポイントの配列
*/
private $markerPoints = array();
/*
* @マーカーアドレスの配列
*/
private $markerAddresses = array();
/*
* @マップ
*/
private $googleMapControls = array();
/*
* @マップ div の ID
*/
private $mapDivID ;
/ *
* コンストラクター
*
* @param apiKey
*
* @access public
*
* @return void
*
*/
public function __construct ( $apiKey = null )
{
$this -> is_null ( $apiKey ) ? '' : $apiKey ;
/*** マップの種類を設定します ***/
$this -> setGoogleMapTypes ();
}
/*
*
* @setter
*
* public
*
*/
public function __set ( $name , $value )
{
switch ( $name )
{
case 'apiKey' :
if(! is_string ( $value ))
{
throw new Exception ( $name , $value , 'string' );
}
$this -> $name = $value ;
break;
case 'mapZoom' :
if( filter_var ( $value , FILTER_VALIDATE_INT , array( "options " => array( "min_range" => 0 , "max_range" => 19 ))) == false )
{
新しい例外をスローします ( " $name が範囲外です" );
}
$this - > $name = $value ;
break;
case 'mapWidth' :
if( filter_var ( $value , FILTER_VALIDATE_INT , array( "options" => array( "min_range" => 100 , "max_range" = > 900 ))) == false )
{
新しい例外をスローします ( " $name が範囲外です" );
}
$this -> $name = $value ;
break;
case ' ' :
if( filter_var ( $value , FILTER_VALIDATE_INT , array( "options" => array( "min_range" => 100 , "max_range" => 900 ))) == false )
{
新しい例外をスローする( " $name は範囲外です" );
}
$this -> $name = $value ;
break;
case 'mapType' :
if(! array_key_exists ( $value , $this -> ; googleMapTypes ) )
{
throw new Exception ( " $name は有効なマップ タイプではありません" );
}
$this -> $name = $value ;
break;
case 'mapDivID' :
if( ! is_string ( $value ) )
{
throw new Exception ( " $name は有効な ID ではありません" );
}
$this -> $name = $value ;
break;
case 'mapCenter' :
if ( ! is_array ( $value ) )
{
throw new Exception ( " $name は有効な配列ではありません" );
}
$this -> $name = $value ;
break;
default:
new例外 ( "無効なパラメーター $name " );
}
}
/*
*
* @getter
*
* @access public
*
*/
public function __get ( $name )
{
switch ( $name )
{
case 'apiKey' :
return $this -> apiKey ;
break;
case 'mapZoom' :
return $this ->
break;
case 'mapWidth' :
return $this ->
break;
case 'mapHeight' :
return $this ->
break;
case 'mapType' :
return $this ->
case 'mapDivID' :
break;
case 'mapCenter' ;
}
/*** ここにいる場合は、例外をスローします ***/
throw new Exception ( " $name が無効です" );
}
/*
* @isset
*
* @access public
*
*/
public function __isset ( $name )
{
switch ( $ name )
{
case 'apiKey' :
$this -> apiKey = $name ;
break;
case 'mapZoom' :
$this -> 'mapWidth ' :
break;
case 'mapHeight' :
break;
case 'mapType' :
break;
case 'mapDivID' :
break;
case 'mapCenter' ;
$this -> mapCenter = $name ;
break;
default:
return false ;
}
}
/*
*
* @Set the map types
*
* @access private
*
* @return void
*
*/
private function setGoogleMapTypes ()
{
$this -> googleMapTypes = array( 'physical' => 'G_PHYSICAL_MAP' , 'normal' => 'G_NORMAL_MAP' , 'satellite' => 'G_SATELLITE_MAP' , 'hybrid' => 'G_HYBRID_MAP' );
}
/*
*
* @add to the array of google maps controls
*
* @access public
*
* @return void
*
*/
public function addGoogleMapControl ( $control )
{
$n = sizeof ( $this -> googleMapControls );
$this -> googleMapControls [] = $control ;
}
/*
*
* @get pinpoint marker by address
*
* @access public
*
* @param string $address
*
* @param string $html
*
* @return void
*
*/
public function addMarkerAddress ( $address , $html )
{
$s = sizeof ( $this -> markerAddresses );
$this -> markerAddresses [ $s ][ 'address' ] = $address ;
$this -> markerAddresses [ $s ][ 'html' ] = $html ;
}
/*
*
* @get pinpoint mark by latitude or longitude
*
* @access public
*
* @param string $lat
*
* @param string $long
*
* @param string $html
*
* @return void
*
*/
public function addMarker ( $lat , $long , $html )
{
$pointer = sizeof ( $this -> markerPoints );
$this -> markerPoints [ $pointer ][ 'lat' ] = $lat ;
$this -> markerPoints [ $pointer ][ 'long' ] = $long ;
$this -> markerPoints [ $pointer ][ 'html' ] = $html ;
}
/*
*
* @The javascript for google to connect
*
* @access public
*
* @return string
*
*/
public function googleJS ()
{
return '' . "n" ;
}
private function noJavascript ()
{
return '' ;
}
public function drawMap ()
{
$js = '
$js .= '
' ;
return $js ;
}
} /*** 授業終了 ***/
try
{
/*** 新しいphproogleインスタンス***/
$map = new phproogleMap ();
/** * Google API キー ***/
$マップ -> apiKey = 'YOUR_GOOGLE_API_KEY' ;
/*** ズームは 0 ~ 19 ***/
$map ->マップズーム = 14 ;
/*** マップの幅 ***/
$map ->マップ幅 = 350 ;
/*** マップの高さ ***/
$map ->マップの高さ = 300 ;
/*** マップタイプを設定します ***/
$map -> mapType = 'normal' ;
/*** マップの中心を設定します ***/
$map -> mapCenter = array(- 33.862828 , 151.216974 );
/*** 緯度と経度のマーカーを追加します ***/
$map -> addMarker (- 33.858362 , 151.214876 , '
教養のある人向け
' );
/* ** いくつかのコントロールを追加 ***/
$マップ -> addGoogleMapControl ( 'GMapTypeControl' );
$map -> addGoogleMapControl ( 'GSmallMapControl' );
$map -> addGoogleMapControl ( 'GOverviewMapControl' );
/*** いくつかのマーカーアドレスを追加 ***/
$map -> addMarkerAddress ( '2 Pitt St Sydney NSW Australia' , '
/*** マップの div ID を設定します ***/
$map ->mapDivID = 'map' ;
}
catch(Exception $e )
{
echo $e -> getMessage();
}
?
これは Google のユーザー API キーです。これは、新しいインスタンスがインスタンス化されるときにコンストラクターを使用して設定することもできます。
phproogle::addGoogleMapControl() phproogle::addGoogleMapControl()
このメソッドは、ズーム コントロール コントローラー、マップ コントロールなど、Google マップの複数のコントロールを設定します。このメソッドを複数回呼び出して、複数のマップ コントロールを設定できます。オプションは次のとおりです:
コントロール ");?>
phproogle:: maptype phproogle ::maptype
これにより、マップタイプを4つのオプションのいずれかのいずれかに設定します。 * 衛星 * ハイブリッド混合
* 物理物理
mapType = "normal" ?>
phproogle::mapCenter
$map->mapCenter = array(-33.862828, 151.216974); 1 $map->mapCenter = array(-33.862828, 151.216974); 1
phproogle::mapZoom phproogle::mapZoom
これにより、マップのズーム レベルが設定されます。 値 0 は最も広いズーム レベルであり、世界全体が表示されます。 19日が最高ズームですが建物も映ります。各ズーム レベルごとにズームが 2 倍になります。 12. デフォルト値は 12 です。
この関数は、地図上にマーカーを作成して配置するために使用されます。 この関数は、地図上にマーカーを作成して配置するために使用されます。 addMarker メソッドは 3 つの引数を受け取ります。 addMarker argS には 3 つのメソッドがあります。
* float $latitude float $latitude
* float $longitude float $longitude
float $latitude Inside。
phproogle::addMarkerAddress() phproogle::addMarkerAddress()
このメソッドは phproogle::addMarker() に似ており、地図上にマーカーを配置します。 ただし、このメソッドでは、フラグを配置するために経度と緯度を受け入れるのではなく、2 つの値が必要です。
to to to パリフランスの 「out's' out out out off out out out out out out out out out out out out out out out out off' back to to twp th-w's th' w-」
バルーン。再び HTML パラメータで、テキストまたは HTML がメッセージ バルーン内に配置されます。
設定すると、マップが存在するグループ ID が設定されます。デフォルト値は "map" です
phproogle::mapWidth phproogle::mapWidth
名前が示すように、これは設定されますマップが存在する div の幅。デフォルトの幅は 350 ピクセルです。
これは、マップが存在するパーティションの高さを設定します。デフォルト値は 300 ピクセルです。
phproogle::googleJS() phproogle::googleJS()
このメソッドは、ファイル ヘッダーで使用される JavaScript 文字列を返します。ほとんどの場合、Google API キーを使用して接続文字列を表示します。
このメソッドは、JavaScript で作成された地図そのものを返します。