2009-07-19 101 views
1

嗨我有问题插入谷歌地图和使用发送框架的地图。添加脚本然而,当我的看法,我得到的GoogleMaps API中两次,没有地图被认为呈现谷歌地图Zend框架的问题

我的问题是类似Question 921811

这是我加入到视图脚本

<?php 

$this->headScript()->appendFile('http://maps.google.com/maps?file=api&;v=2&;sensor=true&;key=ABQIAAAAHSJ3TgOTyvA1VzwU8g4Y7RT2yXp_ZAY8_ufC3CFXhHIE1NvwkxRmCy1h3nGv3n46kcqaFljsimqfWw'); 
$this->headScript()->appendScript(' var map = null; 
     var geocoder = null; 

     function initialize() { 
      if (GBrowserIsCompatible()) { 
      map = new GMap2(document.getElementById("map_canvas")); 
      map.setCenter(new GLatLng(37.4419, -122.1419), 13); 
      geocoder = new GClientGeocoder(); 
      } 
     } 

     function showAddress(address) { 
      if (geocoder) { 
      geocoder.getLatLng(
       address, 
       function(point) { 
       if (!point) { 
        alert(address + " not found"); 
       } else { 
        map.setCenter(point, 13); 
        var marker = new GMarker(point); 
        map.addOverlay(marker); 
        marker.openInfoWindowHtml(address); 
       } 
       } 
      ); 
      } 
     } 
    '); 
    ?> 

但是这是在加入地图API中两次与很多逃脱的HTML,这是造成地图加载失败。例如

<script type="text/javascript" src="&lt;script src=&quot;http://maps.google.com/maps?file=api&amp;amp;v=2&amp;amp;sensor=true&amp;amp;key=ABQIAAAAHSJ3TgOTyvA1VzwU8g4Y7RT2yXp_ZAY8_ufC3CFXhHIE1NvwkxRmCy1h3nGv3n46kcqaFljsimqfWw&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;"></script> 
<script type="text/javascript" src="http://maps.google.com/maps?file=api&amp;;v=2&amp;;sensor=true&amp;;key=ABQIAAAAHSJ3TgOTyvA1VzwU8g4Y7RT2yXp_ZAY8_ufC3CFXhHIE1NvwkxRmCy1h3nGv3n46kcqaFljsimqfWw"></script> 

<script type="text/javascript"> 
//<!-- 
var map = null; 
     var geocoder = null; 

     function initialize() { 
      if (GBrowserIsCompatible()) { 
      map = new GMap2(document.getElementById("map_canvas")); 
      map.setCenter(new GLatLng(37.4419, -122.1419), 13); 
      geocoder = new GClientGeocoder(); 
      } 
     } 
..... 

任何想法为什么谷歌地图API被添加两次与转义的HTML标签?我不知道,我发现的例子似乎没有这个问题。

在此先感谢

+0

这就是你认为的所有与JS相关的东西吗?你还有其他什么,比如说,看起来像“echo $ this-> headScript()”? 如果你把这段代码直接放在视图中,也许你不需要使用appendFile和appendScript等方法,并且可以直接使用