在html上打开google地图->链接,通过javascript单击cakephp
我正在尝试用cakephp实现GoogleMap。我想打开谷歌地图的html->链接点击在我的看法。以下是我的代码:在html上打开google地图->链接,通过javascript单击cakephp,cakephp,google-maps-api-3,Cakephp,Google Maps Api 3,我正在尝试用cakephp实现GoogleMap。我想打开谷歌地图的html->链接点击在我的看法。以下是我的代码: <?php echo $this->Html->link($this->Html->image("../images/route.png", array("alt" => "altText")), array('controller' => 'ctrllerName', 'action' =>
<?php echo $this->Html->link($this->Html->image("../images/route.png", array("alt" => "altText")),
array('controller' => 'ctrllerName', 'action' => 'actionName'),
array('escape' => false)); ?>
我需要调用的函数单击链接:
<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAgrj58PbXr2YriiRDqbnL1RSqrCjdkglBijPNIIYrqkVvD1R4QxRl47Yh2D_0C1l5KXQJGrbkSDvXFA"
type="text/javascript"></script>
<script type="text/javascript">
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
var center = new GLatLng(21.19500, 72.81944);
map.setCenter(center, 15);
geocoder = new GClientGeocoder();
var marker = new GMarker(center, {draggable: true});
map.addOverlay(marker);
document.getElementById("lat").innerHTML = center.lat().toFixed(5);
document.getElementById("lng").innerHTML = center.lng().toFixed(5);
GEvent.addListener(marker, "dragend", function() {
var point = marker.getPoint();
map.panTo(point);
document.getElementById("lat").innerHTML = point.lat().toFixed(5);
document.getElementById("lng").innerHTML = point.lng().toFixed(5);
});
GEvent.addListener(map, "moveend", function() {
map.clearOverlays();
var center = map.getCenter();
var marker = new GMarker(center, {draggable: true});
map.addOverlay(marker);
document.getElementById("lat").innerHTML = center.lat().toFixed(5);
document.getElementById("lng").innerHTML = center.lng().toFixed(5);
GEvent.addListener(marker, "dragend", function() {
var point =marker.getPoint();
map.panTo(point);
document.getElementById("lat").innerHTML = point.lat().toFixed(5);
document.getElementById("lng").innerHTML = point.lng().toFixed(5);
});
});
}
}
</script>
如何在cakephp中的link click上调用此函数以显示google地图?假设您的目标是在用户单击链接时调用load方法,代码如下:
<?php echo $this->Html->link(
$this->Html->image(../images/route.php),
array('controller' =>'ctrllerName', 'action' => 'actionName'),
array('escape' => false, 'onclick' => 'load()')
); ?>
<?php echo $this->Html->link(
$this->Html->image(../images/route.php),
'#',
array('escape' => false, 'onclick' => 'load()')
); ?>
但是,我假设如果您想在页面上调用一段JavaScript,您可能不想转到其他页面,在这种情况下,您可以将代码更改为以下内容:
<?php echo $this->Html->link(
$this->Html->image(../images/route.php),
array('controller' =>'ctrllerName', 'action' => 'actionName'),
array('escape' => false, 'onclick' => 'load()')
); ?>
<?php echo $this->Html->link(
$this->Html->image(../images/route.php),
'#',
array('escape' => false, 'onclick' => 'load()')
); ?>
Maps API的版本已弃用,保修期至2013年5月19日。你应该为新开发使用Sok当然,但这并不能回答我的问题,为什么你不在链接点击事件中调用加载函数呢?你能详细说明一下你可以在你的控制器中创建函数,然后给出该函数的控制器和动作吗?打开谷歌地图很容易。希望你能理解