C# 按Windows Phone 7地图上的pin键获取地理坐标
我正在开发一个WindowsPhone7应用程序,它可以显示SF市政站和时间。我已经发布了它,但想添加地图功能。因此,我添加了一个地图,上面显示了特定用户选择路线的站点(入站或出站)。下面是我的代码,它可以工作并显示路线上的每个站点:C# 按Windows Phone 7地图上的pin键获取地理坐标,c#,silverlight,windows-phone-7,mouseevent,bing-maps,C#,Silverlight,Windows Phone 7,Mouseevent,Bing Maps,我正在开发一个WindowsPhone7应用程序,它可以显示SF市政站和时间。我已经发布了它,但想添加地图功能。因此,我添加了一个地图,上面显示了特定用户选择路线的站点(入站或出站)。下面是我的代码,它可以工作并显示路线上的每个站点: //coords is an array of GeoCoordinates for each stop //limit is the number of stops GeoCoordinate [] coords=new GeoCoordinate[limit]
//coords is an array of GeoCoordinates for each stop
//limit is the number of stops
GeoCoordinate [] coords=new GeoCoordinate[limit];
//pin is an array of Pushpins for each stop to add to the map
Pushpin[] pin = new Pushpin[limit];
for (int i = 0; i < limit; i++)
{
pin[i] = new Pushpin();
}
for (int i = 0; i < limit; i++)
{
coords[i] = new GeoCoordinate(Convert.ToDouble(latitude[inb[i]]), Convert.ToDouble(longitude[inb[i]]));//populate coords array
pin[i].Location = coords[i];//assign coords to pushpin location for each stop
}
//wires up event handler for clicking on each stop
for (int i = 0; i < limit; i++)
{
pin[i].MouseLeftButtonUp += new MouseButtonEventHandler(pin_MouseLeftButtonUp);
}
//Adds a pin at each stop's geocoords for each station
for (int i = 0; i < limit; i++)
map1.Children.Add(pin[i]);
//coords是每个站点的地理坐标数组
//限制是站点的数量
地理坐标[]坐标=新地理坐标[极限];
//pin是要添加到地图的每个站点的图钉数组
图钉[]图钉=新图钉[限位];
对于(int i=0;i
因此,上述代码确实在每个地理坐标处正确放置了图钉。我完全被难倒的是,如果我按下一个图钉,我如何得到该图钉的地理坐标?换句话说,当我按下图钉时,我想在某个sorta变量中捕获pin[I].Location(地理坐标)
谢谢,我希望这能解释我的问题
Amanda您应该使用
点击事件,而不是MouseLeftButtonUp
。(请确保在离开页面时将其删除!)并且您可以在pin[i].标记中放置对geocordination
的引用
Tag
是一个抓取袋,它引用了您想要的任何东西——在您的例子中,您想要放置一个地理坐标,但您可以放置您想要的任何东西——并且它存在于所有UIElements
上
在点击
事件侦听器中,您可以获得对地理坐标的引用,如:
pressedCoord = (GeoCoordinate)((PushPin)sender).Tag;
您应该改为使用Tap事件(并确保在离开页面时将其删除!),并且可以在pin[i].标记中放置对地理坐标的引用。您只需将其从发送方中抛出,然后按Coord=(地理坐标)((图钉)发送方).Tag;我如何表示问题已解决?太好了!我只是把它作为一个答案贴了出来。