4

これを v3 に移植するにはどうすればよいですか? removeOverlay は v3 には含まれていません。

if( mapElements[lMapElementIndex]['marker'] != 0 ){
  //map.removeOverlay(mapElements[lMapElementIndex]['marker']); V2
}

V3?

if( mapElements[lMapElementIndex]['marker'] != 0 ){
  //map.removeOverlay(mapElements[lMapElementIndex]['marker']);
  mapElements(mapElements[lMapElementIndex]['marker']).setMap(null);
} //but throws an error mapElements is not a function
4

1 に答える 1

4

setMapオーバーレイの方法を使用する必要があります。ドキュメントから

地図からオーバーレイを削除するには、オーバーレイのsetMap()メソッドを呼び出して、 を渡しnullます。

mapElementsがオブジェクトの配列であり、プロパティがオーバーレイ インスタンスを参照していると仮定すると、marker必要なことは次のとおりです。

mapElements[lMapElementIndex]['marker'].setMap(null);

関数として呼び出そうとしているためmapElements(配列のように見える場合)、エラーがスローされます。その必要はありません。関数呼び出しを取り除くだけで、正常に動作するはずです。

于 2012-06-06T12:49:35.773 に答える