我使用PHP和MySQL,位置名称数据来自我的数据库。位置应该在Google地图中绘制,我将此代码放在循环中:
$accum_str .= "$('#map_addresses').gMap('addMarker', {";
$accum_str .= "latitude: {$location['Location']['latitude']},";
$accum_str .= "longitude: {$location['Location']['longitude']},";
$accum_str .= "content: '" . htmlspecialchars($location['Location']['name']) . "',";
$accum_str .= "icon: {";
$accum_str .= "image: \"http://myappdomain.com/img/pin.png\",";
$accum_str .= "iconsize: [26, 46],";
$accum_str .= "iconanchor: [12, 46]";
$accum_str .= "},";
$accum_str .= "popup: false";
$accum_str .= "});";
现在,如果所有位置名称都是普通字符,例如:
Bambie store
它呈现谷歌地图。但如果角色是越南人或泰国人喜欢:
Thích Quảng Đức Phú Nhu
或
กรุงเทพมหานคร Bangkok
...谷歌地图中没有显示任何内容。
在我的HTML中,我使用:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
任何想法为什么以及如何运作?非常感谢您的帮助!!!
答案 0 :(得分:0)
我玩谷歌地图api已经有一段时间了,但是地图输出是html,因为在文本中没有硬编码到图像中吗?加载后,您可以使用jQuery将泰语名称替换为Thai。可能需要第二次db ajax调用来加载Thai,并在地图调用中使用if!(a-Z)类型检查,如果您的数据库中没有英文别名,则使用位置ID而不是名称。如果您的自定义映射仅限于一小部分位置,您甚至可以在初始页面加载上创建.js位置名称字典文件,以删除重复的转换ajax调用。