Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 按Windows Phone 7地图上的pin键获取地理坐标_C#_Silverlight_Windows Phone 7_Mouseevent_Bing Maps - Fatal编程技术网

C# 按Windows Phone 7地图上的pin键获取地理坐标

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]

我正在开发一个WindowsPhone7应用程序,它可以显示SF市政站和时间。我已经发布了它,但想添加地图功能。因此,我添加了一个地图,上面显示了特定用户选择路线的站点(入站或出站)。下面是我的代码,它可以工作并显示路线上的每个站点:

//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;我如何表示问题已解决?太好了!我只是把它作为一个答案贴了出来。