Height =“72”
HorizontalAlignment =“Left”
边距=“275,59,0,0”
名称=“button1”
VerticalAlignment =“Top”
Width =“160”
Click =“button1_Click “/>
使用上面给出的代码,我们创建一个空白文本块和一个内容属性更改为Find Me的按钮。导航到button1_Click事件。在我们编写代码之前,我们需要添加一个引用。在解决方案资源管理器中右键单击该项目的标题,然后从菜单中选择添加引用。在`.Net`选项卡下向下滚动并选择组件名称`system.Device`。单击确定以将dll文件添加到您的项目。接下来,在MainPage.xaml.cs中的最后using语句之后键入以下代码行:
using System.Device.Location;
接下来,我们创建对Web服务的引用。为此,请右键单击项目标题并从菜单中选择添加服务引用。在地址文本框中输入以下URl`//msrmaps.com/TerraService2.asmx`,然后点击`开始`。一旦通过互联网识别出网络服务,您将看到该网络服务下可用的操作列表。将ServiceReference1中的名称空间简单更改为myTerraService,然后单击确定按钮。 Visual Studio会构建您将用于处理Web服务的代理类。一旦完成,您将全部使用手机的GPS接口。将以下代码行复制并粘贴到button1_Click事件中。
GeoCoordinateWatcher myWatcher = new GeoCoordinateWatcher();
var myPosition = myWatcher.Position;
double latitude = 18.916;
double longitude = 72.9;
if(!myPosition.Location.IsUnknown)
{
latitude = myPosition.Location.Latitude;
longitude = myPosition.Location.Longitude;
}
myTerraService.TerraServiceSoapClient client = new myTerraService.TerraServiceSoapClient();
client.ConvertLonLatPtToNearestPlaceCompleted + = new EventHandler(client_ConvertLonLatPtToNearestPlaceCompleted);
client.ConvertLonLatPtToNearestPlaceAsync(new myTerraService.LonLatPt {Lat = latitude,Lon = longitude} );
将以下方法复制并粘贴到button1_Click方法的最后一个大括号之后
void client_ConvertLonLatPtToNearestPlaceCompleted(object sender,myTerraService.ConvertLonLatPtToNearestPlaceCompletedEventArgs e)
{
textBlock1.Text = e.Result;
}
现在让我们来看看代码的功能。首先,我们通过创建一个名为myWatcher的FeoCoordinateWatcher类的对象来获取纬度和经度的值,然后通过访问myPosition.Location的纬度和经度属性来访问纬度和经度。接下来我们创建一个对传递经纬度的Web服务的异步调用。最后,我们只是在textblock中显示webservice的结果。进行异步调用,以便应用程序保持响应,即使收到Web服务的结果。
要了解有关GPS,位置API和调用Web服务的更多信息,请访问www.msdn.com。
结束我们的Windows Phone 7.5 Mango应用程序开发系列
本系列教程所有部分的链接:
学习开发Windows Phone 7.5芒果应用程序:第1部分
开发Windows Phone 7.5芒果应用程序:第2部分(HelloWorld应用程序)
开发Windows Phone 7.5应用程序:第3部分;变量,数据类型和赋值
开发Windows 7.5芒果应用程序,第4部分:if语句
开发Windows 7.5芒果应用程序,第5部分:运算符,表达式,语句
开发Windows 7.5芒果应用程序, Switch语句
开发Windows Phone芒果应用程序,第7部分:用于迭代
在开发Windows Phone 7.5时使用简单助手方法芒果应用程序:第8部分
使用字符串:Windows Phone 7.5芒果应用程序开发 - 第9部分
使用DateTime:Windows Phone 7.5芒果应用程序开发 - 第10部分
了解和创建类:Windows Phone 7.5芒果应用程序开发 - 第11部分
使用类:Windows Phone 7.5芒果应用程序开发 - 第12部分
了解命名空间:Windows Phone 7.5芒果应用程序开发 - 第13部分
对象集合:Windows Phone应用程序开发Turorial - 第14部分
了解XAML:Windows Phone应用程序开发Turorial - 第15部分
Silverlight布局控件:Windows电话 应用程序开发教程 - 第16部分
XAML事件和输入控件:Windows Phone应用程序开发教程 - 第17部分
使用图像控件:Windows Phone应用程序开发教程 - 第18部分
使用样式和资源:Windows手机应用程序开发教程 - 第19部分
将样式和主题资源应用于控件:Windows Phone应用程序开发教程 - 第20部分
在XAML页面之间导航:Windows Phone应用程序开发教程 - 第21部分
使用应用程序栏:Windows Phone应用程序开发教程 - 第22部分
使用Canvas作为对话框:Windows Phone应用程序开发教程 - 第23部分
添加不同的输入范围:Windows Phone应用程序开发教程 - 第24部分
GPS,位置API和调用Web服务:Windows Phone应用程序开发教程 - 25.