我目前正在制作谷歌地图,我将此代码加载到CMS的标记中。
function showMarker(index) {
infowindow.setContent("<div class=\"map_marker\">" + markerData[index].content + "</div>");
infowindow.open(map, markers[index]);
map.panTo(markers[index].getPosition());
showAttractionInfo(index);
}
然而,手头的问题是如果通过CMS输入撇号或引号会破坏地图并且不会显示。
我需要一种方法来格式化markerData[index].content
,然后将其放入地图中删除撇号和引号。
我尝试使用replace
,但它根本不适用于我。
有什么建议吗?
编辑:
到目前为止,我已尝试过这些解决方案:
infowindow.setContent("<div class=\"map_marker\">" + markerData[index].content.replace(/'/g, '') + "</div>");
var description = markerData[index].content;
description.replace(/'/g, '');
infowindow.setContent("<div class=\"map_marker\">" + description + "</div>");
var description = markerData[index].content;
description.replace("'", "");
infowindow.setContent("<div class=\"map_marker\">" + markerData[index].content + "</div>");
var description = markerData[index].content;
description.replace("'", "'");
infowindow.setContent("<div class=\"map_marker\">" + markerData[index].content + "</div>");
var description = markerData[index].content;
description.replace(/'/g, ''');
infowindow.setContent("<div class=\"map_marker\">" + markerData[index].content + "</div>");
这是一个标记数据(带撇号)
的示例72 Drymen's Road,Bearden,Glasgow,G61 2RH
答案 0 :(得分:1)
您需要将这些双引号转换为单引号。因为在你的行
infowindow.setContent("<div class=\"map_marker\">" + markerData[index].content + "</div>");
您已使用双引号创建字符串。使用这样的东西:
var modified = markerData[index].content.replace(/"/g, "'");
infowindow.setContent("<div class=\"map_marker\">" + modified + "</div>");
答案 1 :(得分:0)
使用类似的东西:
function htmlCodes(s) {
return String(s).replace(/'/g, ''');
}