0

私はWindwowsPhoneアプリケーションを持っており、ユーザーはqrコードをスキャンして取得した初期位置を地図上で確認できます。ユーザーがQrコードをスキャンすると、Webサーバーに保存されているマップへのURLと、初期位置のX座標とY座標を取得します。

.xamlページにマップイメージのコンテナーを作成しました:

<Image x:Name="ImagePanel" Width="470" Margin="5,0,5,98" Grid.Row="1" />

.csページで、サーバーからマップイメージをダウンロードしました。

    public void DownloadImage(string URLmappa)
    {

        ImagePanel.Source = new BitmapImage(new Uri(URLmappa));

        WebClient wc = new WebClient();
        wc.OpenReadCompleted += new OpenReadCompletedEventHandler(wc_OpenReadCompleted);

        try
        {

            wc.OpenReadAsync(new Uri(URLmappa), wc);

        }

        catch (Exception ex)
          {
              MessageBox.Show(ex.Message); 
          }

    }


    void wc_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)  
            {  
               if (e.Error == null && !e.Cancelled)  
              {  
                  try  
                  {  
                     BitmapImage image = new BitmapImage();  
                     image.SetSource(e.Result);  
                     ImagePanel.Source = image;  
                  }  
                  catch (Exception ex)  
                  {
                      MessageBox.Show(ex.Message); 
                  }  
              }  
              else  
              {
                  MessageBox.Show("It's impossibile to download map from server");
              }  

                    }

...そしてそれは機能しますが、難しい部分は画像上の場所をマークすることです(レポート)。

私はこのようなものを見つけました:

    public void MarkLocation(int posizioneX, int posizioneY)
    {
var imageMarker = new System.Web.UI.WebControls.Image { ImageUrl = "/pin.jpg" };
imageMarker.Style.Value = string.format("position:absolute;top:{0}px;left:{1}px;display:block;width:30px; height:30px;", point.X, point.Y);
imagePanel.Controls.Add(imageMarker); }

ただし、WindowsPhoneでは機能しません。

X、Y座標を指定して、画像上(上)に位置をマークする方法についての提案に興味があります。

別のアプローチをいただければ幸いです。

4

1 に答える 1

0

Webコントロールで実行しようとしているように、画像をキャンバスに配置し、マーカー要素を絶対に配置できます。または、 WriteableBitmapExを使用して画像にマーカーを書き込むこともできます

于 2013-02-21T17:32:36.493 に答える