谷歌地图动态标记图标

时间:2013-07-26 12:53:18

标签: dynamic google-maps-api-3 google-visualization

我很清楚谷歌提供谷歌地图的图表api动态标记图标的一部分: https://developers.google.com/chart/image/docs/gallery/dynamic_icons

只有一个小问题,整个API似乎已被弃用。此外,我真的希望有更多种类,因为并非所有的图标都具有相同的灵活性。

所以我找到了这个网页: http://mapicons.nicolasmollet.com/numbers-letters/numbers/?style=classic

图标看起来不错,但它们不是动态的,我的客户似乎不喜欢它们。那么有不同的网页或其他类型的服务提供整洁的动态图标吗?

不一定是谷歌地图。可以用于任何目的,也适用于地图: - )

提前谢谢!

1 个答案:

答案 0 :(得分:1)

好吧,我前段时间做了一个项目确实如此但它独立于谷歌地图,即使我用它来创建动态地图标记。这是整个php函数:

<?php
    function createImage($number, $color) {

        $blank = "/var/www/rbc/dashboard/images/".$color."-0.png";

        //$image = @imagecreatefrompng($blank);
        $image = LoadPNG($blank);

        // pick color for the text
        $fontcolor = imagecolorallocate($image, 255, 255, 255);

        $font = 2;
        $fontsize = 8;

        $width = imagefontwidth($font) * strlen($number) ;
        $height = imagefontheight($font) ;

        $x = (imagesx($image) - $width) / 2;
        $y = 5;

        //white background
        $backgroundColor = imagecolorallocate ($image, 255, 255, 255);

        //white text
        $textColor = imagecolorallocate($image, 255, 255, 255);

        //  preserves the transparency
        imagesavealpha($image, true);
        imagealphablending($image, false);

        imagestring($image, $font, $x, $y, $number, $textColor);

        // tell the browser that the content is an image
        header('Content-type: image/png');

        // output image to the browser
        imagepng($image);

        // delete the image resource
        imagedestroy($image);
    }

    function LoadPNG($imgname) {
            /* Attempt to open */
            $im = imagecreatefrompng($imgname);

            /* See if it failed */
            if(!$im) {
                    /* Create a blank image */
                    $im  = imagecreatetruecolor(150, 30);
                    $bgc = imagecolorallocate($im, 255, 255, 255);
                    $tc  = imagecolorallocate($im, 0, 0, 0);

                    imagefilledrectangle($im, 0, 0, 150, 30, $bgc);

                    /* Output an error message */
                    imagestring($im, 1, 5, 5, 'Error loading ' . $imgname, $tc);
            }
            return $im;
    }

    if(!isset($_GET['color'])) {
        $_GET['color'] = "blue";
    }
    if(!isset($_GET['number'])) {
        $_GET['number'] = "99";
    }

    createImage($_GET['number'], $_GET['color']);
?>
您使用<img src="image.php?color=red&number=2" />

显示的

HTH