CakePHP和GoogleMapsHelper:如何从数据库中加载标记?
作者:互联网
我将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; ?>
如何将这些条目作为标记加载到地图中?
提前致谢!
解决方法:
您只是忘了回显标记.请注意示例中的短标记<?=.这是执行<?php回显的简短(有些丑陋)的方法.另外,您无需像执行操作那样过多地打开/关闭PHP标签.它可以全部放在一个块中.最后,您要在options数组中声明一个重复的键纬度,您可能通过Post模型字段名称的外观表示经度.因此,所有这些放在一起,应该可以解决问题:
<?php
foreach ($posts as $post):
echo $this->GoogleMap->addMarker(
'map_canvas',
$post['Post']['id'],
array(
'latitude' => $post['Post']['lat'],
'longitude' => $post['Post']['lng']
)
);
endforeach;
标签:google-maps,google-maps-api-3,cakephp,cakephp-2-4,php 来源: https://codeday.me/bug/20191122/2059326.html