在Google Maps API v2中,如果我想删除所有地图标记,我可以简单地执行以下操作:
map.clearOverlays();
Run Code Online (Sandbox Code Playgroud)
如何在Google Maps API v3中执行此操作?
看看Reference API,我不清楚.
我使用了类似的东西:
var map;
function initialize() {
map = new google.maps.Map(document.getElementById('map-canvas'), {
zoom: 4,
center: {lat: -28, lng: 137.883}
});
map.data.loadGeoJson('https://storage.googleapis.com/maps-devrel/google.json');
}
google.maps.event.addDomListener(window, 'load', initialize);
Run Code Online (Sandbox Code Playgroud)
将geojson形状文件加载到我的地图的map.data图层.在形状文件中,有几个"要素"类定义要在地图上绘制的多边形.直到这里我没有问题.
稍后,我想在另一个上加载另一个geojson文件(替换地图上绘制的'features').当您只是将另一个文件加载到另一个文件上时,它只会将其重绘到另一个文件上.在加载到新的geojson形状文件之前,如何清除所有要素的map.data图层?
我尝试使用
map.data.remove(feature)
循环,但我似乎无法从map.data图层获得所有功能.
我从ajax页面加载标记和折线,每个请求数据显示在索引页面上,现在我想在从ajaxPage获取新数据之前清除数据(标记,折线,...)
索引页面:
var gmarkers = [];
var map = null;
function initialize() {
var myOptions = {
zoom: 15,
center: new google.maps.LatLng(35, 53),
// mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
google.maps.event.addListener(map, 'click', function() {
infowindow.close();
});
}
var infowindow = new google.maps.InfoWindow(
{
size: new google.maps.Size(150,50)
});
function myclick(i) {
google.maps.event.trigger(gmarkers[i], "click");
}
function createMarker(latlng, name, html) {
var contentString = html;
var marker = new google.maps.Marker({
position: latlng,
map: map,
zIndex: Math.round(latlng.lat()*-100000)<<5
}); …Run Code Online (Sandbox Code Playgroud) javascript jquery google-maps google-maps-api-3 google-maps-markers