在我的谷歌地图的初始化功能中,我需要从另一个.js文件中调用一个函数。
问题:当我尝试以下代码时,触发侦听器时出现错误"Uncaught ReferenceError: getPlacesByBounds is not defined"
。我怎么解决这个问题?我不想将该功能移到initialize()
功能,因为它太长了。
JS代码
var map;
function initialize() {
var center_latlng = new google.maps.LatLng(42.354183, -71.065063);
var options = {
zoom: 15,
minZoom: 11,
maxZoom: 19,
center: center_latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
//instantiate map object
map = new google.maps.Map(document.getElementById("map_canvas"), options);
//attach listener to the map object.
google.maps.event.addListener(map, 'idle', function() {
getPlacesByBounds ();
});
其他信息:函数getPlacesByBounds()
位于jQuery的$(function() {...});
答案 0 :(得分:1)
在尝试使用之前,您需要确保声明getPlacesByBounds
的代码已运行。 getPlacesByBounds
可见。
另外,您应该考虑为您的函数创建命名空间(例如getPlacesByBounds),以避免污染全局范围。
答案 1 :(得分:0)
我的猜测是,jQuery中的getPlacesByBounds()在触发侦听器时未加载。您是否异步加载谷歌地图?如果没有尝试:http://code.google.com/apis/maps/documentation/javascript/basics.html#Async