php google api 接口程序
phproogle::apiKey
.这是谷歌的用户API密钥,这也可以设置使用时,一个新的实例是instanciated构造.
phproogle::addGoogleMapControl() phproogle::addGoogleMapControl()
此方法设置,如缩放控制控制器的谷歌地图,地图控制等此方法可以多次调用设置地图多个控件,Options are:选项有:
* GLargeMapControl GLargeMapControl
* GSmallMapControl GSmallMapControl
* GSmallZoomControl GSmallZoomControl
* GScaleControl GScaleControl
* GMapTypeControl GMapTypeControl
* GHierarchicalMapTypeControl GHierarchicalMapTypeControl
* GOverviewMapControl GOverviewMapControl
addGoogleMapControl ( "GSmallMapControl" ); ?>
phproogle::mapType phproogle::mapType
This sets the map type to one of four options:这将设置地图类型的四个选项之一:
* normal正常
* satellite卫星
* hybrid混合
* physical物理
mapType = "normal" ; ?>
phproogle::mapCenter phproogle::mapCenter
T这将设置分区范围内的地图中心,该值是一个包含的纬度和经度的地图中心的顺序.
$map->mapCenter = array(-33.862828, 151.216974); 1 $map->mapCenter = array(-33.862828, 151.216974); 1
phproogle::mapZoom phproogle::mapZoom
这将设置地图缩放级别。 零值是最广泛的缩放级别,并显示整个世界。 虽然19日是最高变焦,将显示建筑物。 Each zoom level doubles the zoom.每个缩放级别的两倍变焦。 12.默认值为12。
phproogle::addMarker() phproogle::addMarker()
This function is used to create and place markers upon the map.这个函数用于创建和地点后,地图标记。 the addMarker method takes three args.在addMarker argS的方法有三个。
* float $latitude浮动$纬度
* float $longitude浮动$经度
* string $html字符串$的HTML
.经度和纬度都是数字值和HTML可以是任何HTML或文本将在标记球囊内。
phproogle::addMarkerAddress() phproogle::addMarkerAddress()
此方法类似于phproogle::addMarker()和地方在地图上的标记。 然而,而不是接受经度和纬度来放置标志,这种方法需要两个值。
* string $address字符串$地址
* string $html字符串$的HTML
参数的地址,如"二街宫人至法国巴黎简单的地址"。 balloon.在HTML参数再次,任何文本或HTML放置在信息气球。
phproogle::mapDivID phproogle::mapDivID
当设置,这将设置组ID的映射居住于默认值是"地图"
phproogle::mapWidth phproogle::mapWidth
顾名思义,这将设置div的宽度该地图居住于默认宽度为350像素。
phproogle::mapHeight phproogle::mapHeight
这将设置分区的高度该地图居住于默认值是300像素。
phproogle::googleJS() phproogle::googleJS()
此方法返回的JavaScript字符串,用于在文件头,显示与谷歌API密钥连接字符串最频繁。
phproogle::drawMap() phproogle::drawMap()
此方法返回的JavaScript制作完成的地图本身.
apiKey = is_null($apiKey) ? '' : $apiKey; /*** set the map types ***/ $this->setGoogleMapTypes(); } /* * * @setter * * @access 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) { throw new Exception(" $name is out of range"); } $this->$name = $value; break; case 'mapWidth': if (filter_var($value, FILTER_VALIDATE_INT, array( "options" => array( "min_range" => 100, "max_range" => 900 ) )) == false) { throw new Exception(" $name is out of range for"); } $this->$name = $value; break; case 'mapHeight': if (filter_var($value, FILTER_VALIDATE_INT, array( "options" => array( "min_range" => 100, "max_range" => 900 ) )) == false) { throw new Exception(" $name is out of range for"); } $this->$name = $value; break; case 'mapType': if (!array_key_exists($value, $this->googleMapTypes)) { throw new Exception(" $name is not a valid map type"); } $this->$name = $value; break; case 'mapDivID': if (!is_string($value)) { throw new Exception(" $name is not a valid ID"); } $this->$name = $value; break; case 'mapCenter': if (!is_array($value)) { throw new Exception(" $name is not a valid array"); } $this->$name = $value; break; default: throw new Exception("Invalid Parameter $name "); } } /* * * @getter * * @access public * */ public function __get($name) { switch ($name) { case 'apiKey': return $this->apiKey; break; case 'mapZoom': return $this->mapZoom; break; case 'mapWidth': return $this->mapWidth; break; case 'mapHeight': return $this->mapHeight; break; case 'mapType': return $this->mapType; break; case 'mapDivID': return $this->mapDivID; break; case 'mapCenter'; return $this->mapCenter; break; } /*** if we are here, throw an excepton ***/ throw new Exception(" $name is invalid"); } /* * * @isset * * @access public * */ public function __isset($name) { switch ($name) { case 'apiKey': $this->apiKey = $name; break; case 'mapZoom': $this->mapZoom = $name; break; case 'mapWidth': $this->mapWidth = $name; break; case 'mapHeight': $this->mapHeight = $name; break; case 'mapType': $this->mapType = $name; break; case 'mapDivID': $this->mapDivID = $name; 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 '' . " "; } private function noJavascript() { return ''; } public function drawMap() { $js = ''; $js.= $this->noJavascript(); $js.= ' '; return $js; } } /*** end of class ***/ try { /*** a new phproogle instance ***/ $map = new phproogleMap(); /*** the google api key ***/ $map->apiKey = 'YOUR_GOOGLE_API_KEY'; /*** zoom is 0 - 19 ***/ $map->mapZoom = 14; /*** the map width ***/ $map->mapWidth = 350; /*** the map height ***/ $map->mapHeight = 300; /*** set the map type ***/ $map->mapType = 'normal'; /*** set the map center ***/ $map->mapCenter = array(-33.862828, 151.216974 ); /*** add some markers with latitude and longitude ***/ $map->addMarker(-33.858362, 151.214876, 'Sydney Opera House
For those with culture
'); $map->addMarker(-33.862828, 151.216974, 'Royal Botanic GardensA link here'); /*** add some controls ***/ $map->addGoogleMapControl('GMapTypeControl'); $map->addGoogleMapControl('GSmallMapControl'); $map->addGoogleMapControl('GOverviewMapControl'); /*** add some marker addresses ***/ $map->addMarkerAddress('2 Pitt St Sydney NSW Australia', '
Head Office
'); $map->addMarkerAddress('122 Pitt St Sydney NSW Australia', 'The Factory
'); /*** set the map div id ***/ $map->mapDivID = 'map'; } catch(Exception $e) { echo $e->getMessage(); } ?> googleJS (); drawMap ();
教程链接:
随意转载~但请保留教程地址★