【问题标题】:WP8 Map NavigationWP8 地图导航
【发布时间】:2014-06-09 10:19:33
【问题描述】:

我想为 windows phone 创建一个简单的导航应用程序。我希望它将用户导航到提供的地址。我正在创建路线,如此处所述: http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj244363%28v=vs.105%29.aspx#BKMK_showdirections 但这是一条静态路线,我希望它能够根据当前用户位置进行更新。 目前我正在考虑这个解决方案:

在 Geolocator 的 PositionChanged 事件中,我将从当前位置计算新路线:

void Instance_GeolocatorGeopositionReadingChanged(object sender, ReadingValueChanged<Geoposition> e)
    {
        RouteQuery query = new RouteQuery()
        {
            TravelMode = TravelMode.Driving,
            Waypoints = new List<GeoCoordinate>()
            {
                e.NewReading.Coordinate.ToGeoCordinate(),
                this.target 
            }
        };
        query.QueryCompleted += routeQuery_QueryCompleted;
        query.QueryAsync();
    }

但我不确定这是否是一个好方法,因为就使用 MS 的地图而言,您可能不会: 一个应用程序在 24 小时内超过 25000 个路由和地理编码请求

如果应用程序在每次更改位置时都重新计算路线,那么一次长途旅行将超过限制。 有更好的方法吗?

【问题讨论】:

    标签: c# windows-phone-8 navigation windows-phone maps


    【解决方案1】:

    您绝对不应该一直重新计算路线。基本上,一旦您获得第一条路线,请检查 Route::Legs 以查看用户应该如何到达目的地,然后实施一个逻辑来监控用户是否停留在所选路线上-顺路。

    并且只有当用户离开路线(例如,转向错误的方向)时,才有逻辑去然后获取新路线,并重新开始监控。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多