0

我只想通过超链接发送(电子邮件)我当前的位置(当您单击它时,它将打开带有该位置的 google 或 bing 地图),而不是文本。

4

3 回答 3

0

您可以尝试以下方法:

private void StartLocationButton_Click(object sender, RoutedEventArgs e)
{
    // The watcher variable should be scoped to the class
    if (watcher == null)  
    {
        watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High); 
        watcher.MovementThreshold = 20; 
        watcher.StatusChanged += new 
                       EventHandler<GeoPositionStatusChangedEventArgs>(watcher_StatusChanged);  
    }
    watcher.Start();
}


void watcher_StatusChanged(object sender, GeoPositionStatusChangedEventArgs e)
{
    Dispatcher.BeginInvoke(() => MyStatusChanged(e)); //Call BeginInvoke as discussed below…
}


void MyStatusChanged(GeoPositionStatusChangedEventArgs e)
{
    if (e.Status == GeoPositionStatus.Ready)
    {
        var link = String.Format("http://www.google.com/maps?q={0}+{1}", 
            e.Position.Location.Latitude.ToString("0.000000"), 
            e.Position.Location.Longitude.ToString("0.000000"));

        EmailComposeTask emailComposeTask = new EmailComposeTask();
        emailComposeTask.To = "send@mail.com";

        emailComposeTask.Body = link;

        emailComposeTask.Subject = "GPS";
        emailComposeTask.Show();

        //Stop the Location Service to conserve battery power.
        watcher.Stop();
    }
}
于 2012-04-05T18:47:32.093 回答
0

简单:使用EmailComposeTask并在文本中使用 设置一些内容maps:11.111,22.222,其中 11.111 是纬度,22.222 是经度。

Windows Phone 电子邮件客户端将看到“地图:”文本并自动将其转换为使用必应地图应用程序打开的链接!

于 2012-04-05T13:41:08.807 回答
0

到目前为止,不支持EMailComposeTask发送的电子邮件中的 HTML 数据。
你可以参考这个讨论

于 2012-04-05T11:38:13.470 回答