C# 删除添加的图钉Windows Phone 8
我刚刚使用Bing地图控件作为工具箱中的默认控件创建了一个新项目。 我使用下面的方法来创建一个新的图钉C# 删除添加的图钉Windows Phone 8,c#,bing-maps,C#,Bing Maps,我刚刚使用Bing地图控件作为工具箱中的默认控件创建了一个新项目。 我使用下面的方法来创建一个新的图钉 void DrawMyLocationOverLay() { MapLayer layer1 = new MapLayer(); Pushpin pushpin1 = new Pushpin(); pushpin1.GeoCoordinate = myGeoCoordinate; pushpin1.Tag = "myLocation"; pushpin
void DrawMyLocationOverLay()
{
MapLayer layer1 = new MapLayer();
Pushpin pushpin1 = new Pushpin();
pushpin1.GeoCoordinate = myGeoCoordinate;
pushpin1.Tag = "myLocation";
pushpin1.Content = "My car";
MapOverlay overlay1 = new MapOverlay();
overlay1.Content = pushpin1;
overlay1.GeoCoordinate = myGeoCoordinate;
layer1.Add(overlay1);
MyMap.Layers.Add(layer1);
}
当然,它是有效的
现在,如果位置发生变化,我将使用以下方法更新图钉
private void GetCoordinate()
{
var watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High)
{
MovementThreshold = 2
};
watcher.PositionChanged += this.watcher_PositionChanged;
watcher.Start();
}
private void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
{
myGeoCoordinate = new GeoCoordinate(e.Position.Location.Latitude,
e.Position.Location.Longitude);
DrawMyLocationOverLay();
// Problem here
}
这将创建一个新的图钉,而不会删除先前在第一个方法中创建的图钉
有什么想法吗?每次调用DrawMyLocationOverLay函数时,看起来您都在创建一个全新的MapLayer、图钉和MapOverlay。你不是真的只想移动图钉或者地图叠加吗,我说不清 在这种情况下,当您创建它们时,您会将它们存储在一个成员变量中。然后在您的watcher_处理程序中,您将更新它们,而不是创建新的 比如:
private MapLayer _MapLayer;
private Pushpin _Pushpin;
private MapOverlay _MapOverlay;
void InitialDraw()
{
MapLayer _MapLayer = new MapLayer();
Pushpin _Pushpin = new Pushpin();
_Pushpin.GeoCoordinate = myGeoCoordinate;
_Pushpin.Tag = "myLocation";
_Pushpin.Content = "My car";
MapOverlay _MapOverlay = new MapOverlay();
_MapOverlay.Content = _Pushpin;
_MapOverlay.GeoCoordinate = myGeoCoordinate;
_MapLayer.Add(_MapOverlay);
MyMap.Layers.Add(_MapLayer);
}
void DrawMyLocationOverLay()
{
_Pushpin.GeoCoordinate = myGeoCoordinate;
_MapOverlay.GeoCoordinate = myGeoCoordinate;
}
你能根据我的代码构建代码吗?我只想在创建的图钉位置更改时更新图钉。我的编辑应该让您开始。StackOverflow不是一个让别人为你写代码的网站。但这会让你朝着正确的方向前进。