0

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

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

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

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

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

先感谢您!

4

1 回答 1

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" />

高温高压

于 2013-11-29T09:10:31.183 回答