Drupal 7给解析错误:语法错误,意外T_STRING

问题描述:

目标:使用地理定位呈现谷歌地图。Drupal 7给解析错误:语法错误,意外T_STRING

我想在我的网站上实现下面的示例。

http://code.google.com/apis/maps/documentation/javascript/services.html#Geocoding

工作演示:http://code.google.com/apis/maps/documentation/javascript/examples/geocoding-simple.html

我在drupal_add_js()在hook_init(执行代码),但我得到一个错误

解析错误:语法错误,意外T_STRING in /home/vishal/public_html/dev/sites/all/modules/customvishal/customvishal.module on line 43

以下是我的代码:

drupal_add_js(' 
var geocoder; 
var map; 

function initialize() 
{ 
    geocoder = new google.maps.Geocoder(); 
    var latlng = new google.maps.LatLng(-34.397, 150.644); 
    var myOptions = { 
    zoom: 8, 
    center: latlng, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    } 
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 

} 

var address = "pune,india"; 
var latlng = new google.maps.LatLng(); 
geocoder = new google.maps.Geocoder(); 

geocoder.geocode({ 'address': address}, function(results, status) 
{ 
if (status == google.maps.GeocoderStatus.OK) 
{ 
    map.setCenter(results[0].geometry.location); 
    var marker = new google.maps.Marker 
    ({ 
     map: map, 
     position: results[0].geometry.location 
    }); 
} 
else 
{ 
    alert("Geocode was not successful for the following reason: " + status); 
} 

}

);

”, 阵列( '类型'=> '内联', '范围'=> '标题', '重量'=> 5)

);

首先,不要像这样内嵌大量的JavaScript内联。将代码放在另一个文件中,并使用drupal_add_js()添加该文件。

对于两种情况,如果您打算忽略该情况,请注意以geocoder.geocode开头的行中的单引号正在结束字符串。之后的一切都让解析器感到困惑。

+0

是的,这是单引号混淆解析器。我以后会把所有的js放在一个sep文件中。 – 2012-01-03 11:56:59