私は以下の機能を持っています。Push、Pop、Removeメソッドを除いて、すべて正常に機能します。これらのメソッドは、イベントハンドラーによって呼び出される必要があります。このイベントは、GoogleMapsAPIによって発生します。
問題は、イベントが発生したときに、これらのメソッドが見つからないことです。「プッシュが定義されていません」というエラーメッセージが表示されます。
これで試しましたが、うまくいきません。
イベントハンドラからパブリックメソッドを呼び出すにはどうすればよいですか?
みんなありがとう
function Track(mapContainer) {
var map = mapContainer;
var points = new Array();
var isEditMode = false;
var clickListener;
this.Push = function(point) { ... }
this.Pop = function() { ... }
this.Remove = function(point) { ... }
//Enable / disable the marker placements
this.PlaceWaypoint = function(isPlacing) {
if (isPlacing != true) {
if (clickListener != null) {
google.maps.event.removeListener(clickListener);
clickListener = null;
}
} else {
clickListener = map.AddEvent("click", function(event) {
if (!IsDoubleClick()) {
var point = map.PlaceMarker(new WayPoint(event.latLng))
point.RemoveListener(function() { Remove(point); });
Push(point);
} else {
Pop();
}
});
}
}
}