我正在使用GoogleMapsHelper与CakePHP在我的应用中添加Google地图。
为了向地图添加标记,文档说我应该使用以下语法,其中三个变量是地图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; ?>
如何将这些条目作为标记加载到我的地图中? 提前谢谢!
答案 0 :(得分:3)
你只是忘记回应标记。请注意示例中的短标记<?=
。这是做<?php echo
的简短(有点难看)的方式。此外,没有必要像你一样打开/关闭PHP标签。它可以全部放在一个块中。最后,您在选项数组中声明了一个重复键latitude
,您可能通过Post模型的字段名称来表示longitude
。总而言之,这应该可以解决问题:
<?php
foreach ($posts as $post):
echo $this->GoogleMap->addMarker(
'map_canvas',
$post['Post']['id'],
array(
'latitude' => $post['Post']['lat'],
'longitude' => $post['Post']['lng']
)
);
endforeach;