fre*_*ara 1 google-maps google-maps-api-3
我使用Google Maps API V3.
我迁移我的网站GMap API V2 - > V3.但是因为我使用了clearOverlays()方法在V2中一次删除了一个现有对象,并且删除了一个在V3中单独废除的对象.
V2
map.clearOverlays();
Run Code Online (Sandbox Code Playgroud)
V3
map.set_visible(false);
popup.close();
Run Code Online (Sandbox Code Playgroud)
好吗?或其他解决方案?
我在V3参考中找不到任何可以明确清除地图上创建的叠加层的内容,但我也找不到任何代码示例.
我认为重要的是要指出V3 API是一个非常早期的开发人员版本,并且只包含一组非常基本的功能.他们很可能还没有完成这项功能.如果您正在使用实时系统,我建议您坚持使用V2,直到V3更加成熟.
开发人员小组上有一篇帖子,询问有关如何使用API的问题以及V3产品经理提供的非常有用的答案:
编辑:
好的,为了保持轻量级,似乎有意在API中缺少此功能.您应该自己跟踪覆盖对象并致电:
object.set_map(null);
Run Code Online (Sandbox Code Playgroud)
删除它们.
小智 5
这是我做的:
创建一个空数组文字,在制作时按下标记,然后在必要时将它们逐出
var eviction_list = [];
function evictMarkers() {
// clear all markers
$(eviction_list).each(function () {
this.set_map(null);
});
// reset the eviction array
eviction_list = [];
}
//in function adding markers
......
marker = new google.maps.Marker({
position: results[0].geometry.location,
map: map,
title: elem.title
});
eviction_list.push(marker);
......
//to clear all markers
evictMarkers();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22004 次 |
| 最近记录: |