小编hem*_*ter的帖子

在Google Maps v3中,从内存中删除标记会自动杀死任何侦听器吗?

在我的Google Maps v3应用中,我正在创建标记并将它们放在地图上.对于每一个,我在'click'上添加一个事件监听器,这样我就可以在用户点击它时显示一个信息窗口.

我将我的标记保存在一个javascript数组中,并使用.setMap()在地图上显示/隐藏它们.在某些情况下,用户希望从地图中删除它们.在这种情况下,我执行marker.setMap(null),然后从我的数组中删除标记.

是否建议在标记上保留一系列事件侦听器,以便在删除标记时删除它们?或者,当从内存中删除侦听对象时,事件侦听器是否会从内存中删除?

从最终用户的角度来看,我认为这样做并不重要,但我很好奇,即使我删除了标记,事件监听器仍在内存中.我想尽可能整洁.

google-maps google-maps-api-3 google-maps-markers

11
推荐指数
1
解决办法
3722
查看次数

使用jQuery查询Google Places API

Google Places API现已普遍推出.我试图在jQuery中使用.ajax()调用来调用Google Places.我一直回来的错误是Uncaught SyntaxError:意外的令牌:

我正在使用jQuery 1.5.2.我也尝试了1.5.1,但结果相同.如果我能提供帮助,我宁愿不转向1.6.1.

从那以后我就把这样的ajax调用到其他API,但是我在使用Google Places时遇到了麻烦.以下是您可以使用的基本代码示例.您需要在Google控制台上提供自己的密钥(https://code.google.com/apis/console)

jQuery.noConflict();
 jQuery(document).ready(function(){

  var url = 'https://maps.googleapis.com/maps/api/place/search/json';

  jQuery.ajax({
   url: url,
   dataType: 'jsonp',
   type: 'GET',
   data:  {
     location: '33.787794,-117.853111',
     radius: 1000,
     name: 'coffee',
     key: 'your_key', // add your key here
     sensor: 'false'
     },

   // on success
   success: function(data, textStatus, jqXHR){

      console.log(data);


   },

   // on failure
   error: function (jqXHR, textStatus, errorThrown){
    console.log(jqXHR);
    console.log(textStatus);
    console.log(errorThrown);
   }
   });
 });
Run Code Online (Sandbox Code Playgroud)

jquery google-places-api

3
推荐指数
1
解决办法
2万
查看次数