0

我有下面的事件,被激發geocoordinatewatcher對象位置更改事件。如何在Windows Phone中手動調用PositionChanged方法?

void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e) 

{ 
    //do the stuff here 
} 

現在當用戶點擊地圖上的任何位置時,我想調用上述方法並每次都做同樣的事情。 任何想法如何實現這一目標?

回答

4

要麼叫手動事件處理程序:

var position = new GeoPosition<GeoCoordinate>(DateTimeOffset.Now, new GeoCoordinate(32, 64)); 

this.watcher_PositionChanged(this, new GeoPositionChangedEventArgs<GeoCoordinate>(position)); 

或重寫事件處理程序把邏輯的另一種方法,然後調用它:

void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e) 
{ 
    this.UpdatePosition(e.Position); 
} 

private void UpdatePosition(GeoCoordinate coordinates) 
{ 
    // Do the stuff here 
} 

這樣,你只需要調用UpdatePosition只要你喜歡它。我推薦這個解決方案,它比第一個更清潔。

相關問題