2010-03-24 71 views
3

說我有這段代碼:如何在Google地圖中標記標題中轉義字符?

var marker = new google.maps.Marker({ 
    position: location, 
    title: 'Búfals', 
    map: map 
}); 

這將創建一個標記如預期,但如果我將鼠標懸停它,我沒有看到「B ú FALS」
因爲我希望(而不是我看到的HTML代碼)。

這沒有任何區別:

var marker = new google.maps.Marker({ 
    position: location, 
    title: unescape('Búfals'), 
    map: map 
}); 

任何想法?

謝謝。

回答

2

這可能是矯枉過正,但它的工作原理:

function decode(txt){ 
    var sp = document.createElement('span'); 
    sp.innerHTML = txt; 
    return sp.innerHTML; 
} 

decode('Búfals') 
0

您可能需要使用:

var marker = new google.maps.Marker({ 
    position: myLatlng, 
    map: map, 
    title: unescape('B%FAfals') 
}); 
+0

感謝丹尼爾。是的,這是有效的,但是代碼'%FA'是什麼? – Anthony 2010-03-24 10:12:22

+0

@Anthony:它被稱爲百分比編碼(http://en.wikipedia.org/wiki/Percent-encoding)。這是使用此編碼的ASCII字符的圖表:http://i-technica.com/whitestuff/urlencodechart.html。 JavaScript'unescape()'函數返回指定編碼值的ASCII字符串。 – 2010-03-24 10:42:25

+0

我明白了。謝謝丹尼爾。事情是我不能真正使用這個解決方案,因爲我使用的字符串是html編碼(不是百分比編碼)。至少我明白爲什麼逃脫無效。 – Anthony 2010-03-24 12:53:01

1

什麼丹尼爾建議類似,您可以嘗試使用你想顯示字符的Unicode值,你的情況這將是\u09fa

+0

您和本頁是我對此問題的解決方案。 http://www.utf8-chartable.de/ – 2013-10-12 21:21:03