私の質問は、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));
ピンは適切にロードされ、新しい位置を取得するためのサービスへの呼び出しも正常にロードされます。問題は、マップ上の位置が更新されないため、基本的に、すべての作業がバックグラウンドで行われているにもかかわらず、ピンがじっと座っていることです。デバッグしたので、動作することがわかりました。ピンの位置をリセットするにはどうすればよいですか? イメージを使用しても問題が解決しない場合、画鋲オブジェクトを使用できますか? これはどのように機能しますか?
前もって感謝します。