2

我使用 JavaScript (v3 api) 创建了一个谷歌地图。我在这上面打了几个标记,只是为了表明它是可以做到的。我已经在每个标记特定的文本框中添加了一些文本,只是为了看看是否可以完成。标记和文本框都很难看,但这是另一天的问题。地图占据了大约 75% 的屏幕宽度和 100% 的屏幕高度。我有一个用户帖子的 mySQL 数据库。数据包括帖子#id、类别、IP地址、经度值、纬度值、城市、用户名、标题和帖子内容。我已经“浮动”了一个包含帖子类别并在地图旁边向上的表,使用 PHP 查询数据库,将数据库行推入一个数组并将其用作表的源。这占据了显示宽度的剩余部分。

很好,到目前为止。

我想为每个帖子添加一个标记,以便该标记位于该帖子的经度和纬度。我想将内容添加到特定于该帖子的标记文本框(例如城市、用户名、帖子标题、帖子内容)。此外,我希望能够将显示的表格中的帖子链接到地图标记,例如,表格中特定帖子上的鼠标悬停事件可能会导致与该标记关联的文本框变得可见。

但我似乎找不到将 PHP 数组传递给 Google Map JavaScript 的方法,以便我可以使用它来根据需要添加标记。我还没有找到将 Google 地图外部对象上的鼠标悬停事件与 Google 地图标记相关联的方法。

我进行了广泛的研究,并发现了对前者的类似请求——将 PHP 数组传递给 JavaScript。建议的解决方案通常是使用某种分隔符(例如逗号)从 PHP 数组创建一个字符串,然后将其传递给 JavaScript,在其中将其重新组合为一个数组。我不相信这在我的情况下会起作用。

我当前的代码位于一个文件中。样式内容位于 html head 部分的样式部分中,以后可以移动到单独的 css 文件中。Google 地图 JavaScript 位于脚本部分中,同样位于 html 头中,并且可以移动到单独的 js 文件中。正文只包含一点 html - 用于地图画布的 div 和使用 PHP 的表格,以获取单个 PHP 数组中的数据库行并为表格创建 html。

我知道“PHP 是服务器端技术,而 JavaScript 是客户端”,正如已多次指出的那样。但是肯定有某种方法可以将 PHP 从 SQL 数据库中获得的数据数组(不是数据来源特别相关)传递给 JavaScript 代码吗?

我为如此冗长而道歉,如果我的问题在我错过或误解的地方得到了回答。或者,如果我特别愚蠢。

小心。

麦克风

通过编辑原始帖子添加此内容。

好的。我可能已经找到了第二个问题的答案:如何创建从外部元素到 Google 地图标记的链接。http://econym.org.uk/gmap/mouseover.htm总是这样,在放弃寻找该项目的东西之后。

麦克风

4

2 回答 2

7

使用 . 将您的 PHP 数组转换为 JSON json_encode

现在您有了一个可以使用的 JavaScript 对象。

于 2013-04-02T14:09:38.220 回答
1
$jsonString = json_encode($phpArray);

在javascript中:-

var jsonStr  = <?=$jsonString?>;
于 2013-08-19T08:10:29.847 回答