Javascript 使用Jquery选择现有的Google地图元素

Javascript 使用Jquery选择现有的Google地图元素,javascript,google-maps,yii,Javascript,Google Maps,Yii,在我网站的一个页面中,我有一个(由2amigos/yii谷歌地图库插件自动生成)谷歌地图初始化脚本 (function(){ function initialize(){ var mapOptions = {"center":new google.maps.LatLng(43.8998984000,12.8599824000),"zoom":14}; var container = document.getElementById('gmap0-map-canvas'); contai

在我网站的一个页面中,我有一个(由2amigos/yii谷歌地图库插件自动生成)谷歌地图初始化脚本

(function(){
function initialize(){
  var mapOptions = {"center":new google.maps.LatLng(43.8998984000,12.8599824000),"zoom":14};
  var container = document.getElementById('gmap0-map-canvas');
  container.style.width = '512px';
  container.style.height = '512px';
  var gmap0 = new google.maps.Map(container, mapOptions);
  };
  google.maps.event.addDomListener(window, 'load', initialize);
})();
使用jquery,我有一个添加标记的函数(在特定事件上触发)

脚本按此顺序启动,因此首先声明var gmap0。但如果要执行代码,它会返回以下错误:

ReferenceError:未定义gmap0


我能做什么?

您必须在initialize函数之外声明您的var,以便该var对其他函数可见

<script>
var gmap0 ;
 (function(){
 function initialize(){
  ....
  gmap0 = new google.maps.Map(container, mapOptions);
  .....
     google.maps.event.addDomListener(window, 'load', initialize);
  })();

</script>

var-gmap0;
(功能(){
函数初始化(){
....
gmap0=新的google.maps.Map(容器,mapOptions);
.....
google.maps.event.addDomListener(窗口“加载”,初始化);
})();

必须在initialize函数外部声明变量,以便其他函数可以看到该变量

<script>
var gmap0 ;
 (function(){
 function initialize(){
  ....
  gmap0 = new google.maps.Map(container, mapOptions);
  .....
     google.maps.event.addDomListener(window, 'load', initialize);
  })();

</script>

var-gmap0;
(功能(){
函数初始化(){
....
gmap0=新的google.maps.Map(容器,mapOptions);
.....
google.maps.event.addDomListener(窗口“加载”,初始化);
})();

太好了,我没有想到这个太好了,我没有想到这个