我正在为 Windows Phone 7 构建一个应用程序,我需要在地图中打印图钉,所以我已经完成了。我从数据库响应中读取数据。
问题是......每个图钉都意味着一个地方,但我不知道如何将地方添加到图钉或将业务属性发送到其他页面,我将在一些文本块中将它们写下来。
void app_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
Place business = new Place();
if (e.Error == null)
{
XDocument feedXml = XDocument.Parse(e.Result);
foreach (var properties in feedXml.Descendants("RESULT"))
{
Pushpin p = new Pushpin();
p.Location = new GeoCoordinate((double)properties.Element("LATITUDE"), (double)properties.Element("LONGITUDE"));
p.Content = properties.Element("NAME").Value;
p.Tap += new EventHandler<System.Windows.Input.GestureEventArgs>(pushPin_Tap);
p.DoubleTap += new EventHandler<System.Windows.Input.GestureEventArgs>(pushPin_DoubleTap);
business.Id = (int)properties.Element("ID");
business.Category = properties.Element("CATEGORY").Value;
business.Name = properties.Element("NAME").Value;
business.Street = properties.Element("STREET").Value;
business.City = properties.Element("CITY").Value;
business.Neighborhood = properties.Element("NEIGHBORHOOD").Value;
business.State = properties.Element("STATE").Value;
business.ZipCode = properties.Element("ZIPCODE").Value;
business.Country = properties.Element("COUNTRY").Value;
business.Hours = properties.Element("HOURS").Value;
business.Description = properties.Element("DESCRIPTION").Value;
business.Images = properties.Element("IMAGES").Value;
business.Latitude = (double)properties.Element("LATITUDE");
business.Longitude = (double)properties.Element("LONGITUDE");
business.Payment = "Nope";
business.Distance = properties.Element("DISTANCE").Value;
map1.Children.Add(p);
}
}
}
然后我使用该方法将一些参数发送到其他页面,但图钉值,而不是我需要的业务..
void pushPin_DoubleTap(object sender, System.Windows.Input.GestureEventArgs e)
{
e.Handled = true;
var businessinfo = ((FrameworkElement) sender).Tag as Place;
/*if (businessinfo != null)
{
string name = businessinfo.Name;
string category = businessinfo.Category;
string address = businessinfo.Street;
string distance = businessinfo.Distance;
string payment = businessinfo.Payment;
string hours = businessinfo.Hours;
NavigationService.Navigate(new Uri(
"/BusinessInfoPage.xaml?name=" + name +
"&category=" + category +
"&address=" + address +
"&distance=" + distance +
"&payment=" + payment +
"&hours=" + hours, UriKind.Relative));
}
*/
NavigationService.Navigate(new Uri("/BusinessInfoPage.xaml?name=Oxxo&category=Convenience&address=Somewhere&distance=.005km&payment=Nothing&hours=8am to 9pm", UriKind.Relative));
}
有什么帮助或建议吗?谢谢 :)