我正在制作一个包含两条不同折线的谷歌地图。一个文件只有一个,另一个文件有四个。
我使用vm.loadDiggit('js/file/diggitOne.geojson')
制作按钮,使用vm.loadDiggit('js/file/diggitTwo.geojson')
制作另一个按钮。
他们看起来像这样:
<a class="btn btn green" ng-click="vm.loadDiggit('js/lib/diggitOne.geojson')"> Diggit one</a>
<a class="btn btn green" ng-click="vm.loadDiggit('js/lib/diggitTwo.geojson')">Diggit two</a>
在我的javascript文件中,我使用此函数加载它们:
vm.loadDiggit = function(filename){
var promise = $.getJSON(filename);
promise.then(function(data){
cachedGeoJson = data;
map.data.addGeoJson(cachedGeoJson);
})
}
到目前为止这种方法有效,但是当我多次按下按钮时,另一层上会有越来越多的图层。那么如何在两个文件之间轻松切换?
答案 0 :(得分:0)
这将有助于您在添加新数据之前清除所有数据。
map.data.forEach(function(feature) {
map.data.remove(feature);
});
所以这将是你的新代码:
vm.loadDiggit = function(filename){
var promise = $.getJSON(filename);
promise.then(function(data){
cachedGeoJson = data;
map.data.forEach(function(feature) {
map.data.remove(feature);
});
map.data.addGeoJson(cachedGeoJson);
})
}