Il est tout à fait possible de générer des icônes étiquetées côté serveur, si vous avez quelques compétences en programmation. Vous aurez besoin de la bibliothèque GD sur le serveur, en plus de PHP. Cela fonctionne bien pour moi depuis plusieurs années, mais il est vrai qu'il est difficile de synchroniser les images des icônes.
Je fais cela via AJAX en envoyant les quelques paramètres pour définir l'icône vide et le texte et la couleur ainsi que le bgcolor à appliquer. Voici mon PHP :
header("Content-type: image/png");
//$img_url = "./icons/gen_icon5.php?blank=7&text=BB";
function do_icon ($icon, $text, $color) {
$im = imagecreatefrompng($icon);
imageAlphaBlending($im, true);
imageSaveAlpha($im, true);
$len = strlen($text);
$p1 = ($len <= 2)? 1:2 ;
$p2 = ($len <= 2)? 3:2 ;
$px = (imagesx($im) - 7 * $len) / 2 + $p1;
$font = 'arial.ttf';
$contrast = ($color)? imagecolorallocate($im, 255, 255, 255): imagecolorallocate($im, 0, 0, 0); // white on dark?
imagestring($im, $p2, $px, 3, $text, $contrast); // imagestring ( $image, $font, $x, $y, $string, $color)
imagepng($im);
imagedestroy($im);
}
$icons = array("black.png", "blue.png", "green.png", "red.png", "white.png", "yellow.png", "gray.png", "lt_blue.png", "orange.png"); // 1/9/09
$light = array( TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE); // white text?
$the_icon = $icons[$_GET['blank']]; // 0 thru 8 (note: total 9)
$the_text = substr($_GET['text'], 0, 3); // enforce 2-char limit
do_icon ($the_icon, $the_text,$light[$_GET['blank']] );
Il est invoqué côté client via quelque chose comme ce qui suit : var image_file = "./nos_icons/gen_icon.php?blank=" + escape(icons[color]) + "&text=" + iconStr ;
0 votes
Duplication possible de Google maps : numéro de lieu dans le marqueur ?
0 votes
Veuillez vous référer à cette stackoverflow.com/a/37582234/3553665
0 votes
Cela est possible avec la version 3.21 de l'API qui a introduit des marqueurs avec des étiquettes, mais seulement si vous avez < 10 marqueurs parce que Google tronque le texte de l'étiquette à 1 caractère. J'ai soulevé un Problème avec Google Maps pour demander la levée de cette restriction. Si vous souhaitez que le problème soit résolu, veuillez ajouter un astérisque à la fin de la demande - merci !