我的问题是关于在 windows phone 7 上使用 bing 地图。这是我需要做的总结
- 每 x 秒轮询一次服务以检索一组坐标
如果这是第一次轮询服务
将这些坐标绘制为地图上的自定义图钉(我使用的是 Image 和 MapLayer)
PinObject pin = new PinObject() //Custom object { Id = groupMember.Id, PushPin = new Image() { Source = new System.Windows.Media.Imaging.BitmapImage(new Uri("blackpin.png", UriKind.Relative)), Opacity = 0.8, Stretch = System.Windows.Media.Stretch.None }, PinLocation = new GeoCoordinate(groupMember.Latitude, groupMember.Longitude) }; imageLayer.AddChild(pin.PushPin, pin.PinLocation); //Initialized in constructor pinObjects.Add(pin);// Add pin object to a list to provide a handle to the objects
自动设置地图缩放级别,以便所有绘制的点都可见(我假设使用 LocationRect.CreateLocationRect 应该这样做)
var coords = pinObjects.Select(p => p.PinLocation).ToList(); myMap.SetView(LocationRect.CreateLocationRect(coords));
否则根据获得的新坐标,更新地图上每个图钉的位置 PinObject pObj = pinObjects.FirstOrDefault(p => p.Id == groupMember.Id);
MapLayer.SetPosition(pObj.PushPin, new GeoCoordinate(groupMember.Latitude, groupMember.Longitude));
引脚加载正常,调用服务以获取他们的新位置也加载正常,问题是他们在地图上的位置永远不会更新,所以即使所有这些工作都在后台进行,他们基本上只是静止不动,我已经调试过,所以我知道它有效。如何重置图钉的位置,如果使用图像不起作用,我可以使用图钉对象吗?这将如何工作?
提前致谢。