3

我正在使用带有 CakePHP 的GoogleMapsHelper在我的应用程序中包含 Google Map。

为了向我的地图添加标记,文档说我应该使用以下语法,其中三个变量是地图 ID、标记 ID 和标记位置。

<?= $this->GoogleMap->addMarker("map_canvas", 1, array('latitude' => 40.69847, 'longitude' => -73.9514)); ?>

考虑到这一点,我一直在尝试遍历我的数据库并显示我的所有观点,但它没有做任何事情:这是代码,每个帖子都有 (lat) 和 (lng)。

<?php 
    foreach ($posts as $post): ?>

        <?php $this->GoogleMap->addMarker("map_canvas", $post['Post']['id'], array('latitude' => $post['Post']['lat'], 'latitude' => $post['Post']['lng'])); ?>

<?php endforeach; ?>

如何将这些条目作为标记加载到我的地图中?提前致谢!

4

1 回答 1

3

您只是忘记回显标记。注意示例中的短标签<?=。这是做<?php echo. 此外,无需像您那样打开/关闭 PHP 标记。它可以放在一个块中。最后,您latitude在选项数组中声明了一个重复键,您可能是指longitudePost 模型的字段名称的外观。所以放在一起,这应该可以解决问题:

<?php
foreach ($posts as $post):
    echo $this->GoogleMap->addMarker(
        'map_canvas',
        $post['Post']['id'],
        array(
            'latitude' => $post['Post']['lat'],
            'longitude' => $post['Post']['lng']
        )
    );
endforeach;
于 2013-12-10T22:54:34.927 回答