Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.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-放置方向_C#_Windows Phone 7_Windows Phone 8_Map - Fatal编程技术网

C# Windows Phone 7-放置方向

C# Windows Phone 7-放置方向,c#,windows-phone-7,windows-phone-8,map,C#,Windows Phone 7,Windows Phone 8,Map,我正在寻找的解决方案,可以为WP7.1和WP8的工作。我在搜索,我想我不能用,对吗?我试图使用,但即使我添加了对所需内容的引用,它仍然无法解析符号。所以我想WP7就是这样。我让我的应用程序运行,但当我试图找到从我的位置到地址的方向时,我得到的错误是找不到方向。那么有什么不对呢?我尝试了多个地址,有没有地理坐标等等。我需要先下载一些东西到手机上吗?使用Bing地图有任何限制吗?在WP7中有没有更好的方法来指导工作 编辑: 我尝试了来自MSDN示例的MapsDirectionsTask和BingMa

我正在寻找的解决方案,可以为WP7.1和WP8的工作。我在搜索,我想我不能用,对吗?我试图使用,但即使我添加了对所需内容的引用,它仍然无法解析符号。所以我想WP7就是这样。我让我的应用程序运行,但当我试图找到从我的位置到地址的方向时,我得到的错误是找不到方向。那么有什么不对呢?我尝试了多个地址,有没有地理坐标等等。我需要先下载一些东西到手机上吗?使用Bing地图有任何限制吗?在WP7中有没有更好的方法来指导工作

编辑: 我尝试了来自MSDN示例的MapsDirectionsTask和BingMapsDirectionsTask代码。正如我所写的,我无法让MapsDirectionsTask工作,因为VS无法找到它的引用(但我在文章中添加了作为维度的库)


Bing地图只是说,当地图加载点击任何位置时,它会告诉你从当前位置到点击位置的方向,但找不到方向

试试这个,它把from location作为您当前的位置,而to location就是您在地图上点击的位置,用这个代码替换名称空间中的ur内容,这样做很好

        public partial class MainPage : PhoneApplicationPage
{
    GeoCoordinateWatcher watcher;

    // Constructor
    public MainPage()
    {
        InitializeComponent();

        LoadWatcher();
    }

    private void LoadWatcher()
    {
        if (watcher == null)
        {
            watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High);
            watcher.MovementThreshold = 20;

            watcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>(watcher_StatusChanged);
            watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);
        }

        watcher.Start();
    }

    void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
    {
        myMap.SetView(e.Position.Location, 10);
    }

    void watcher_StatusChanged(object sender, GeoPositionStatusChangedEventArgs e)
    {
        switch (e.Status)
        {
            case GeoPositionStatus.Disabled:
                statusTextBlock.Text = "location is not functioning on this device";
                break;

            case GeoPositionStatus.Initializing:
                statusTextBlock.Text = "Initializing";
                break;

            case GeoPositionStatus.NoData:
                statusTextBlock.Text = "location data is not available.";
                break;

            case GeoPositionStatus.Ready:
                statusTextBlock.Text = "location data is available.";
                break;
        }
    }

    private void map1_Tap(object sender, GestureEventArgs e)
    {
        var position = e.GetPosition(myMap);
        var geoCoordinate = new GeoCoordinate();
        geoCoordinate = myMap.ViewportPointToLocation(position);

        OpenDirectionTo(geoCoordinate);
    }

    private void OpenDirectionTo(GeoCoordinate locationY)
    {
        BingMapsDirectionsTask directionTask = new BingMapsDirectionsTask();
        directionTask.End = new LabeledMapLocation("Your tapped location", locationY);
        directionTask.Show();
    }
}
public部分类主页:PhoneApplicationPage
{
地球坐标观测员;
//建造师
公共主页()
{
初始化组件();
LoadWatcher();
}
私有void LoadWatcher()
{
如果(观察者==null)
{
watcher=新的地理坐标记录器(地理位置精度高);
watcher.MovementThreshold=20;
watcher.StatusChanged+=新事件处理程序(watcher\u StatusChanged);
watcher.PositionChanged+=新事件处理程序(watcher\u PositionChanged);
}
watcher.Start();
}
void watcher_位置已更改(对象发送器,地理位置更改Deventargs e)
{
myMap.SetView(e.Position.Location,10);
}
void watcher_status已更改(对象发送器、地理位置StatusChangedEventArgs e)
{
开关(如状态)
{
案例地理位置状态。已禁用:
statusTextBlock.Text=“位置在此设备上不起作用”;
打破
案例地理位置状态。正在初始化:
statusTextBlock.Text=“正在初始化”;
打破
案例地理位置status.NoData:
statusTextBlock.Text=“位置数据不可用。”;
打破
案例地理位置状态。准备就绪:
statusTextBlock.Text=“位置数据可用。”;
打破
}
}
私有void map1_Tap(对象发送方、GestureEventArgs e)
{
var position=e.GetPosition(myMap);
var geocordinate=新的geocordinate();
地理坐标=myMap.ViewportPointToLocation(位置);
OpenDirectionTo(地理坐标);
}
专用void OpenDirectionTo(地理坐标位置)
{
BingMapsDirectionsTask directionTask=新建BingMapsDirectionsTask();
directionTask.End=新标签的位置(“您的点击位置”,位置Y);
directionTask.Show();
}
}
请参阅本文

请分享(代码)您尝试过的内容
        public partial class MainPage : PhoneApplicationPage
{
    GeoCoordinateWatcher watcher;

    // Constructor
    public MainPage()
    {
        InitializeComponent();

        LoadWatcher();
    }

    private void LoadWatcher()
    {
        if (watcher == null)
        {
            watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High);
            watcher.MovementThreshold = 20;

            watcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>(watcher_StatusChanged);
            watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);
        }

        watcher.Start();
    }

    void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
    {
        myMap.SetView(e.Position.Location, 10);
    }

    void watcher_StatusChanged(object sender, GeoPositionStatusChangedEventArgs e)
    {
        switch (e.Status)
        {
            case GeoPositionStatus.Disabled:
                statusTextBlock.Text = "location is not functioning on this device";
                break;

            case GeoPositionStatus.Initializing:
                statusTextBlock.Text = "Initializing";
                break;

            case GeoPositionStatus.NoData:
                statusTextBlock.Text = "location data is not available.";
                break;

            case GeoPositionStatus.Ready:
                statusTextBlock.Text = "location data is available.";
                break;
        }
    }

    private void map1_Tap(object sender, GestureEventArgs e)
    {
        var position = e.GetPosition(myMap);
        var geoCoordinate = new GeoCoordinate();
        geoCoordinate = myMap.ViewportPointToLocation(position);

        OpenDirectionTo(geoCoordinate);
    }

    private void OpenDirectionTo(GeoCoordinate locationY)
    {
        BingMapsDirectionsTask directionTask = new BingMapsDirectionsTask();
        directionTask.End = new LabeledMapLocation("Your tapped location", locationY);
        directionTask.Show();
    }
}