2

我有一个谷歌地图,我在其中添加了 MapsEngineLayer(我也尝试过使用 DynamicMapsEngineLayer,您可以在此处查看两者的代码:https ://developers.google.com/maps/documentation/javascript/mapsenginelayers )。在网站上 - HTML 和 Javascript - 我有一个编辑按钮,我通过 Google Maps Engine API 更改某些功能的某些属性或向该图层的数据源添加新功能(几何)。这些插入是通过对 php 的 ajax 调用进行的(类似于https://developers.google.com/maps-engine/documentation/feature-create)。

所有身份验证都是作为服务帐户进行的,因此层和 API 的令牌是 3600 秒。

插入/更新后,地图上什么也没有出现,但是,如果我打开一个新的私人窗口,所有的修改都在那里。

强制刷新 MapsEngineLayer 的最佳方法是完全还是仅强制刷新受该插入影响的图块?

我已经尝试过,插入后:

mapsEngineLayer.unbindAll();
mapsEngineLayer.setMap(null);
mapsEngineLayer = null;

我可以使用 GeoJSON 重新读取所有功能,但数据源有很多功能。

4

1 回答 1

1

试试这个来强制重新加载图层而不破坏整个地图:

layer.setMap(null);
delete layer;
layer = new google.maps.visualization.MapsEngineLayer({ layerId: ... });
layer.setMap(map);

这也适用于 DynamicMapsEngineLayer。

于 2014-07-02T01:10:07.390 回答