2

追加した Google マップと MapsEngineLayer があります (DynamicMapsEngineLayer も試してみました。ここで両方のコードを確認できます: https://developers.google.com/maps/documentation/javascript/mapsenginelayers )。Web サイト - 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 に答える