在html上打开google地图->链接,通过javascript单击cakephp

在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' =>

我正在尝试用cakephp实现GoogleMap。我想打开谷歌地图的html->链接点击在我的看法。以下是我的代码:

<?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&amp;v=2&amp;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当然,但这并不能回答我的问题,为什么你不在链接点击事件中调用加载函数呢?你能详细说明一下你可以在你的控制器中创建函数,然后给出该函数的控制器和动作吗?打开谷歌地图很容易。希望你能理解