staticmap.php
1.22 KB
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
<?php
/*
Copyright (c) 2009-2014 F3::Factory/Bong Cosca, All rights reserved.
This file is part of the Fat-Free Framework (http://fatfree.sf.net).
THE SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
PURPOSE.
Please see the license.txt file for more information.
*/
namespace Web\Google;
//! Google Static Maps API v2 plug-in
class StaticMap {
const
//! API URL
URL_Static='http://maps.googleapis.com/maps/api/staticmap';
protected
//! Query arguments
$query=array();
/**
* Specify API key-value pair via magic call
* @return object
* @param $func string
* @param $args array
**/
function __call($func,array $args) {
$this->query[]=array($func,$args[0]);
return $this;
}
/**
* Generate map
* @return string
**/
function dump() {
$fw=\Base::instance();
$web=\Web::instance();
$out='';
return ($req=$web->request(
self::URL_Static.'?'.array_reduce(
$this->query,
function($out,$item) {
return ($out.=($out?'&':'').
urlencode($item[0]).'='.urlencode($item[1]));
}
))) && $req['body']?$req['body']:FALSE;
}
}