Ошибка строкового кодирования PHP - PullRequest
3 голосов
/ 25 мая 2010

Я пытаюсь получить следующий код для вывода тега IMG с URL-адресом для API статических карт Google http://code.google.com/apis/maps/documentation/staticmaps/#Imagesizes, встроенного туда ... в результате все, кроме $ address, выводится успешно ... что я делаю не так?

function event_map_img($echo = true){
    global $post;
    $address = get_post_meta($post->ID, 'date_address', true);
    if($echo): echo '<img src="'.'http://maps.google.com/maps/api/staticmap?center='.$address.'&zoom=14&size=700x512&maptype=roadmap&markers=color:blue|label:X|'.$address.'&sensor=false" />';
    else:
        return '<img src="'.'http://maps.google.com/maps/api/staticmap?center='.$address.'&zoom=14&size=700x512&maptype=roadmap&markers=color:blue|label:X|'.$address.'&sensor=false" />';
    endif;
}

Ответы [ 2 ]

1 голос
/ 25 мая 2010

Попробуйте это:

function event_map_img($echo = true) {
    global $post;
    $address = urlencode(get_post_meta($post->ID, 'date_address', true));
    $src = htmlspecialchars('http://maps.google.com/maps/api/staticmap?center='.$address.'&zoom=14&size=700x512&maptype=roadmap&markers=color:blue|label:X|'.$address.'&sensor=false');
    if ($echo) {
        echo '<img src="'.$src.'" />';
    } else {
        return '<img src="'.$src.'" />';
    }
}
0 голосов
/ 25 мая 2010

Я думаю, что вам не хватает разделителя & для $address после blue|label:X|, он должен выглядеть следующим образом:

'&address=' . $address
...