同步调用异步方法出错
我正在在桌面应用程序中编写代码,该应用程序将在警车中使用新的Windows Geolocation API.我为Geolocator.PositionChanged活动写了一个活动的侦听器,但没有被打电话.在我阅读文档时,看来Gelocator仅在职位变化时提出此事件. 我认为我的程序完成设置事件后应该做的第一件事是调用Geolocator.GetPositionAsync方法以获取当前位置,然后让位置随着它们的发生而更新. 我需要同步调用Geolocator.GetPositionAsync方法.为此,我写了以下方法: private async Task GetCurrentPosition() { await Geolocator.GetGeopositionAsync(); } 但是,我在其中有以下编译器错误,其中await在其中: '等待'要求类型的'windows.foundation.iasyncoperatio
6 2024-04-26
编程技术问答社区
给定一个纬度/长度,在c#中从一个纬度/长度列表中找到最近的纬度/长度对
从纬度/长对列表中,我试图找到最近的LAT/Long Pair W.R.T到给定的LAT/Long.对于{42_-72,42,-75,43,-76}和给定点42,-71 的例 点42,-72最接近42,-71,因此输出=> 42,-72. 解决方案 我将首先创建一个可以在两个点之间获得距离的方法.如果我们在任何正确的三角形中考虑,a^2 + b^2 = c^2以及从点P1到point P2的距离为c,那么我们可以使用此公式在两个点之间获得距离,因为我们知道它们的和Y坐标.距离a是P2.X和P1.X之间的差异,距离b是P1.Y和P1.Y之间的差异: private static double GetDistance(Point a, Point b) { return Math.Sqrt(Math.Pow(b.X - a.X, 2) + Math.Pow(b.Y - a.Y, 2)); } 然后,我们可以创建一种方法,该方法列入目标点和候选点列表,并返回距目标
4 2024-04-26
编程技术问答社区
使用Sitecore CMS管道处理器,我如何根据用户的IP地址来重定向?
我正在尝试使用HTTPRequestBegin Pipeline处理器来执行此操作,但是我似乎无法从给定的HTTPREQUESTARGS参数访问用户的IP地址. 当我实现具有此方法的类时 public void Process(HttpRequestArgs args) { string ipAddress = args.Context.Request.UserHostAddress; // Not working string state = GetState(ipAddress); // already implemented elsewhere RedirectUserByState(state); // already implemented elsewhere } 我认为这可能会保留用户的IP地址 args.Context.Request.UserHostAddress ,但会导致此错误(stack Trace说它起源于过程方
12 2024-04-26
编程技术问答社区
在桌面应用程序中使用WinRT时,C#"await "错误
我试图从桌面应用程序,使用Windows Runtime,在C#中获得GPS位置. 我跟随此代码样本以下琐碎的代码作为C#控制台应用: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.IO; using System.Runtime; using System.Windows; using Windows; using Windows.Devices.Geolocation; using Windows.Foundation; using Windows.Foundation.Collections; namespace GeoLocCS { public sealed partial class Progr
4 2024-04-26
编程技术问答社区
Windows Phone 8 Geolocator不能设置dediedAccuracy = High并绑定到PositionChanged事件。
背景:我精通WPF/XAML,但是Windows Phone 8的新产品. 希望我缺少一些愚蠢的东西... 我希望所需的准确性很高,但我也想挂接到位置变化的事件. 下面的代码到达_geolocator.desiredAccuracy = positionAccuracy.high;它引发了一个堕胎.如果一切顺利,一切都有效,但我真的想要很高的准确性. 看来两者互相不包括彼此. 错误消息是:中止操作(Hresult的例外:0x80004004(e_abort)).我启用了位置功能. 冒犯代码的示例: public MainPage() { InitializeComponent(); _GeoLocator.MovementThreshold = 1; _GeoLocator.PositionChanged += (Geolocator sender, PositionChangedE
14 2024-04-25
编程技术问答社区
在Windows Phone的GeoCoordinateWatcher上对同一物理位置进行不同的GPS定位读取
我正在与Windows Phone geowwatcher坐标 private GeoCoordinateWatcher _watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High); _watcher.MovementThreshold = 2; // Threshold Value _watcher.PositionChanged += Watcher_PositionChanged; //Registering Watcher Position Change Event _watcher.Start(); // Starting Watcher //Watcher position Change Event private void Watcher_PositionChanged(object sender, GeoPositionChangedEventArgs
12 2024-04-24
编程技术问答社区
使用C#和WPF获取IP地理定位
我正在使用我使用的设备的IP地址,可以显示我的城市,状态,纬度和经度. 但是,我做不到.下面有我的代码,我将其转到另一个网站: internal GeoLoc GetMyGeoLocation() { try { //create a request to geoiptool.com var request = WebRequest.Create(new Uri("http://geoiptool.com/data.php")) as HttpWebRequest; if (request != null) { //set the request user agent request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727)";
8 2024-04-24
编程技术问答社区
如何将地理坐标转换为像素?
我正在开发WPF应用程序.我有一张500宽度和500高的静态世界地图.我的应用程序中有一个表格.在此中,用户进入纬度和经度,并提交详细信息.我想在静态图上显示这些纬度和经度的确切位置.因此,我试图将这些纬度和经度转换为像素.我正在使用椭圆形在静态地图上显示圆圈.我应该如何将地理坐标转换为C#中的像素?您能为我提供任何可以解决上述问题的代码或链接吗?我的问题类似于链接 将long/lat转换为Pixel x/y在给定的图片上 我发现此链接有用. 编辑: 我已经使用了链接 并编写以下代码 GoogleMapsAPIProjection googleApiProjObj = new GoogleMapsAPIProjection(0); float x = 18.29F; float y = 73.57F; System.Drawing.PointF p1 = new System.Drawi
6 2024-04-24
编程技术问答社区
CivicAddressResolver总是返回UnKnown
我试图使用 system.device.location.location 名称空间基于地理位置的国家名称. 以下是我尝试的代码 GeoCoordinateWatcher watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.Default); watcher.MovementThreshold = 1.0; // set to one meter CivicAddressResolver resolver = new CivicAddressResolver(); for (int k = 0; k
12 2024-04-24
编程技术问答社区
如何计算一个地点和另一个地点之间的距离/接近度(c#)?
嗨,我想知道当用户陷入另一个指定位置的30英尺的距离时,该如何准确地计算出来,可能有许多指定的位置,那么最好的方法是什么? *示例方案;移动应用程序用户转变为其许多指定位置的应用程序之一的接近(30英尺).(我将如何计算两个位置之间的接近度,即移动用户和其他位置) 预先感谢 解决方案 最好的方法是使用"空间启用"数据结构来存储测试位置列表.距离本身是使用网络上各处记录的众所周知的公式来计算的(大圆距离,地理距离, Vincenty的公式 ...) 最简单的结构是 kd-tree :它允许存储一个集合坐标,并快速找到与给定位置的最近点.该结构很容易掌握,操作非常易于编程(您甚至可以找到可以完成所有这些的库),并且足以满足移动需求. 除了kd-tree之外,您的问题解决了最近的邻居搜索,即无论如何,都不执行全面搜索(将当前位置与整个存储位置进行比较).这种算法的时间复杂性在很大程度上取决于您测试的位置数量,比较越少,找到解决方案的速度就越快.全面搜索涉及太多的比较
0 2024-04-23
编程技术问答社区
C# MongoDB GeoJsonPoint JSON对象
我有一个问题,即如何使用mongodb.driver 在我的asp.net core 3应用程序中构造我的地理位置对象 我的对象 public class Person { [BsonId] public ObjectId Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string Email { get; set; } public string Address { get; set; } public string State { get; set; } public string ZipCode { get; set; } public string PhoneNumber { get; set; } public GeoJsonPoin
6 2024-04-23
编程技术问答社区
Mongodb: 如何检查一个点是否包含在一个多边形中?
我有一个位置的点列表(纬度,经度).我在这些数组上做了一个索引,现在我想知道该多边形是否有一个点. MongoDB有可能吗? 我已经尝试了这些命令,但没有运气: > polygonA = [ [ 48.780809,2.307129],[ 48.781809,2.300129],[ 48.770809,2.317129]] > db.contours.find({ "rings.ring" : { "$within" : { "$polygon" : polygonA } } }) 和 > db.runCommand( { geoNear : "contours" , within : [2.307129,48.780809,], num : 10 } ); 我的数据结构是: > db.contours.findOne({},{'rings':0}) { "_id" : ObjectId("50364617d591ac16600
4 2024-04-22
编程技术问答社区
在.NET中获取州和省
以下Web服务将为我提供所有国家.我想获得所有州和省份.我该怎么做? http://ws.geonames.org/countryinfo 似乎唯一的方法是在此处注册API用户名是否有一种更轻松/更好的方法来获取所有州/省信息?诸如 http://ws.geonames.org/stateinfo 很棒! 解决方案 我发现最好的是: CREATE TABLE `countries` ( `id` smallint(5) unsigned NOT NULL auto_increment, `name` varchar(40) NOT NULL, `abbreviation` varchar(4) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; CREATE TABLE `states`
4 2024-04-21
编程技术问答社区
距离计算功能的优化
在我的代码中,我必须在lat/long值对之间进行大量距离计算. 代码看起来像这样: double result = Math.Acos(Math.Sin(lat2rad) * Math.Sin(lat1rad) + Math.Cos(lat2rad) * Math.Cos(lat1rad) * Math.Cos(lon2rad - lon1rad)); (LAT2RAD,例如纬度转换为弧度). 我已经将此功能确定为应用程序的性能瓶颈.有什么方法可以改进吗? (我无法使用查找表,因为坐标有变化).我还研究了感谢您的时间! ; - ) 解决方案 如果您的目标是排名(比较)距离,则近似值(sin和cos表查找)可能会大大减少您所需的计算量(实施快速拒绝.) 您的目标是仅在近似距离之间的差异(待排名或比较)下降到一定阈值时进行实际三角计算. . 例如.使用带有1000个样本的查找表(即sin和cos采样每个2*pi/1000),查找不确定性最
6 2024-04-19
编程技术问答社区
Newtonsoft.Json.JsonSerializationException (Error getting value from 'Value' on 'System.Data.SqlTypes.SqlDouble) serializing SqlGeography
我尝试使用newtonsoft.json版本'newtonsoft.json.10.0.3'在数据库SQL Server 2012中序列化DataTable对象. 该表的列带有"地理"类型,其中包含类型 SqlGeography . 用于生成JSON的代码: public string SerializeToJson() { var connstring1 ="Data Source=server1;Initial Catalog=database1;user=xxx;password=yyy"; var sql = "SELECT * FROM table_1 "; //table_1 has a column of type geography using (var c1 = new SqlConnection(connstring1)) { c1.Open();
4 2024-04-18
编程技术问答社区
四叉树和Kd树
我在各个位置都有一组纬度和经度,也知道我当前位置的纬度和经度.我必须从当前位置找出最近的位置. 哪种算法是Kdtree和Quadtree的最好的算法,可以从一组纬度和纵向中找出邻居位置? 一个比另一个的优势是什么? 为上述目的,我们如何实现C#中的算法? 解决方案 比较空间索引技术,我想将第三种技术带入我们的比较研究中,该研究称为网格索引.为了理解Quad-Tree,我想先进入网格索引. 什么是网格索引? 网格索引是一种网格基础空间索引方法,其中研究区域分为固定尺寸的瓷砖(固定尺寸),例如国际象棋板. 使用网格索引,瓷砖中的每个点都标记为瓷砖编号,因此索引表可以为您提供一个标签,每个点显示我们的数字落入的瓷砖. 想象一下您需要在给定矩形中找到要点的情况. 此查询分为两个步骤: 找到矩形重叠的瓷砖,而瓷砖中的点(第一个过滤器) 在上面的步骤中找到实际位于我们矩形的候选点.使用点和矩形坐标需要准确地完成此操作.(第二滤波器) 第一个
4 2024-04-18
编程技术问答社区
在C#中的地理定位
我正在尝试开发一个应该像游戏的应用程序.用户将在城市中有一些位置,他必须在每个位置做点事.为了跟踪用户的位置,我尝试使用以下代码使用地理位置: Geolocator geolocator = new Geolocator(); //geolocator.DesiredAccuracy = Windows.Devices.Geolocation.PositionAccuracy.High; geolocator.DesiredAccuracyInMeters = 50; try { Geoposition geoposition = await geolocator.GetGeopositionAsync(TimeSpan.FromMilliseconds(500), TimeSpan.FromSeconds(1)); textLatitude.Text = "Latitude: " + geoposition.Coordinate.Latitude.ToString
0 2024-04-18
编程技术问答社区
Google Geolocation API-使用经度和纬度在文本框中获取地址?
我注意到有关如何使用IP地址使用Google Geolocation外观来获取位置的大量信息.但是我想知道是否以及如何使用此服务输入位置(经度和纬度),并恢复当前地址,或者至少一个城市. 我想在C#中这样做,但是我会使用任何语言. 有建议吗? 解决方案 您所描述的称为反向地理编码. Google提供了 geocoding web服务API 应用程序(使用任何语言)做反向地理编码. 例如,以下请求: http:/com/maps/api/geocode/xml?latlng = 40.714224,-73.961452&sensor = false ...将返回一个看起来如下(截断)的响应: OK street_address 277 Bedford Ave, Brooklyn
4 2024-04-18
编程技术问答社区
如何在地图上找到一个围绕对角线的边界矩形? (地理定位)
用户在地图上绘制一条线,并希望在该行的特定距离中找到一些信息. 我有 a 和 b " lat,lon" 格式的位置,用户告诉我距离 (距离在中的A和A1) 之间. 如何计算 a1,a2,b1,b2 " lat,lon" 格式的位置?我正在使用c#和 coordinatesharp 与位置合作. p.s:我已经阅读在笛卡尔网格系统上工作,但我无法为自己的问题调整其代码. 解决方案 具有A和B坐标,您可以在这两个点上计算轴承(在通常的情况下,注意轴承是不同的). 使用轴承Fi在点A中,您可以计算轴承Fi - 90和Fi + 90,并在相应轴承处找到所需距离的A1和A2. B1,B2 相同 您可以从轴承和的目标点获得距离 轴承 θ = atan2( sin Δλ ⋅ cos φ2 , cos φ1 ⋅ sin φ2 − sin φ1 ⋅ cos φ2 ⋅ cos Δλ ) where φ1,λ1 is the start point, φ2,λ2 th
10 2024-04-17
编程技术问答社区
安卓Xamarin后台服务--每隔x分钟获取GPS位置?
我正在使用Xamarin开发一个应用程序,我需要一个背景服务,以重复出现的间隔获得用户的GPS位置(例如每15分钟). 这个项目( samples/Tree/Master/backicklocationDemo )是我最接近的示例代码,它声称该位置仍在继续更新,即使在后台使用该应用程序.开箱即用,似乎并非如此. 该应用程序移至背景后,这是日志,然后停止更新GPS.我只是想知道这是否是正常行为,正如项目描述所说的那样. 12-12 08:19:12.324 D/MainActivity(10254): Foreground updating 12-12 08:19:12.345 D/LocationService(10254): Latitude is -44.40749468 12-12 08:19:12.345 D/LocationService(10254): Longitude is 171.25077323 12-12 08:19:12.345 D/Locati
8 2024-04-16
编程技术问答社区