我在Google地图上有多个位置可以正常使用。我在气泡中显示每个位置的标题。问题是当我将撇号插入标题“'”时。然后它停止工作。我试图用'替换撇号“'”。这解决了问题,但也显示了标题中的'。我目前的代码是:
function initialize(){
geocoder = new google.maps.Geocoder();
var locations = [
<cfoutput query="qryOutletPostcodes">
<cfhttp url="http://maps.googleapis.com/maps/api/geocode/json?address=#postcode#&sensor=false" result="myResult">
<cfset cfData=DeserializeJSON(myResult.filecontent)>
<cfset lat= #cfData.results[1].geometry.location.lat# >
<cfset lng= #cfData.results[1].geometry.location.lng# >
/* [ '<a href="outlets/###id#">#title#</a>', #lat#,#lng#],
[ '<a href="outlets/###id#">#htmlEditFormat(replace(title, "'", "'", "all"))#</a>', #lat#,#lng#], */
[ '<a href="outlets/###id#">#htmlEditFormat(replace(title, "'", "'", "all"))#</a>', #lat#,#lng#],
</cfoutput>
];
var map = new google.maps.Map(document.getElementById('map_canvas'), {
zoom: 7,
center: new google.maps.LatLng( 51.508742, -0.107346),
mapTypeId: google.maps.MapTypeId.ROADMAP,
});
有没有办法解决这个问题?任何帮助将不胜感激。
答案 0 :(得分:1)
尝试做:
replace("'", "\'")
你只需要在字符串中转义撇号。
编辑抱歉没有阅读评论并注意到它已被回答。将为未来的Google员工留下这一点。