2

我正在使用 PHP&MySQL,位置名称数据来自我的数据库。位置应该在谷歌地图中绘制,我在一个循环中有这个代码:

$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" />

任何想法为什么以及如何工作?非常感谢您的帮助!!!

4

1 回答 1

0

我玩谷歌地图api已经有一段时间了,但是地图输出是html,因为文本没有硬编码到图像中,对吧?您可以在加载后使用 jQuery 将英文名称替换为 Thai。可能需要第二个 db ajax 调用来加载泰语,如果您的数据库中没有英文别名,则可能需要对 map 调用进行 if !(aZ) 类型检查以使用位置 ID 而不是名称。如果您的自定义映射仅限于一小部分位置,您甚至可以在初始页面加载时创建一个 .js 位置名称字典文件,以减少重复的翻译 ajax 调用。

于 2012-09-07T10:01:48.493 回答