2010-05-24 59 views
3

我試圖獲得下面的代碼,輸出一個IMG標記,其中嵌入了Google Static Maps API http://code.google.com/apis/maps/documentation/staticmaps/#Imagesizes的URL ...結果是除$地址以外的所有內容都正在成功輸出。 .. 我究竟做錯了什麼?PHP字符串編碼錯誤

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; 
} 
+0

什麼功能get_post_meta返回?添加'var_dump(get_post_meta($ post-> ID,'date_address',true));'我有一種感覺,它沒有返回任何東西(''或null) – ircmaxell 2010-05-24 20:58:35

+0

抱歉傢伙date_address應該是「_date_address」,所以它完全無關:( – Brian 2010-05-24 21:04:25

回答

1

試試這個:

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

這個問題實際上是無關的,對於buggin'ya抱歉,但你無論如何都得到了一顆金色星星,因爲你是對的...... – Brian 2010-05-24 21:03:26

0

我想你blue|label:X|後缺少&分離器$address,它應該是這樣的:

'&address=' . $address