CakePHP 2.x使用地址显示地图位置?

时间:2013-04-04 11:50:32

标签: cakephp google-maps-api-3 cakephp-2.0

我有CakePHP网站我想在CakePHP应用程序的给定地址中显示Google地图和标记。

是否有可用于在Google地图中显示地址的插件。

2 个答案:

答案 0 :(得分:0)

你可能甚至没有尝试谷歌。 或者你会对至少十几个插件/解决方案进行讨论。

检查一下: http://www.dereuromark.de/2010/12/21/googlemapsv3-cakephp-helper/

// include jquery js
$this->Html->script('jquery', array('inline' => false));

// include the google js code
$this->Html->script($this->GoogleMapV3->apiUrl(), array('inline' => false));

// echo the div container to display the map in
echo $this->GoogleMapV3->map(array('div'=>array('height'=>'400', 'width'=>'100%')));

$options = array(
    'lat' => 48.95145,
    'lng' => 11.6981,
    'title' => 'Some title', // optional
    'content' => '<b>HTML</b> Content for the Bubble/InfoWindow' // optional
);
$this->GoogleMapV3->addMarker($options);

// finalize js
$this->GoogleMapV3->finalize();
// Make sure you got `echo $this->Js->writeBuffer(array('inline' => true));` somewhere in your layout then

如果您还没有lat / lng,可以在运行时通过JS进行地理编码,也可以使用Cake来执行此操作:http://www.dereuromark.de/2012/06/12/geocoding-with-cakephp/

答案 1 :(得分:0)

您还可以使用CakePHP-GoogleMapHelper即可对地址进行地理编码并将其添加到地图中。您可以这样做:(查看共享链接的更多详细信息)

<?= $this->GoogleMap->addMarker("map_canvas", 1, "1 Infinite Loop, Cupertino, California"); ?>