Сохранить текущий вид карты Google как изображение - PullRequest
0 голосов
/ 25 октября 2011

У меня есть база данных с некоторыми адресами. Для каждого адреса вид карты будет разным.

Есть ли способ для каждого адреса сохранить вид карты как изображение?

Ответы [ 3 ]

2 голосов
/ 25 октября 2011
 <img src='http://maps.googleapis.com/maps/api/staticmap?center=<?php echo 
 $MyAddress?>CA&zoom=14&size=500x500&markers=<?php echo $myAddress?>&sensor=false' alt=''/>

В центре находится карта. Маркеры это адрес, который вы хотите, поэтому я поставил центр = маркеры. Масштаб - это насколько близко вы хотите увеличить карту Размер размер вы хотите изображения. Посмотрите здесь http://code.google.com/intl/el-GR/apis/maps/documentation/staticmaps/

0 голосов
/ 18 июня 2012
public static function getGoogleMapImage($params = array(), $saveTo = null, $https = true){
        //set default parameters
        if(!isset($params['markers'])){
            $params['center'] = isset($params['center']) ? $params['center'] : 0;
            $params['zoom'] = isset($params['zoom']) ? $params['zoom'] : 0;
        }
        $params['size'] = isset($params['size']) ? $params['size'] : '200x200';
        $params['sensor'] = isset($params['sensor']) ? $params['sensor'] : 'false';

        foreach($params as $name => $value){
            $paramString.=$name . '=' . urlencode($value) . '&';
        }
        $paramString = trim($paramString, '&');

        $httpPrefix = $https ? 'https://' : 'http://';
        $imageUrl = $httpPrefix . 'maps.googleapis.com/maps/api/staticmap?' . $paramString;

        if(!$saveTo){ //if you don't want to save image, just to display it
            return $imageUrl;
        }

        if(isset($params['format'])){
            switch($params['format']){
                case 'png8': $imgExt = '.png'; break; 
                case 'gif': $imgExt = '.gif'; break; 
                case 'jpg': $imgExt = '.jpg'; break; 
                case 'jpg-baseline': $imgExt = '.jpg'; break; 
                default: $imgExt = '.png';
            }
        }else{
            $imgExt = '.png';
        }

        $saveTo = preg_replace("/\\.[^.\\s]{3,4}$/", "", $saveTo) . $imgExt; //in case requested file extension and provided in $saveTo don't match

        if(self::getImage($imageUrl, $saveTo)){
            return realpath($saveTo);
        }

        return false;
    }

Я использовал вызов curl для получения изображений из созданного $ imageUrl

0 голосов
/ 25 октября 2011

В этом случае вы можете использовать API статических карт Google: здесь .

В целях хранения и пропускной способности вы можете хранить только географическую точку местоположения и отображать изображение только по запросу пользователя.

...