none
MapControl 自定URL 后显示的地图有偏移,应该怎么解决? RRS feed

  • 问题

  • 通过使用HttpMapTileDataSource覆盖从Web服务检索的平铺图像

    下面是我的测试代码:

                        string HybirdUrl = "http://mt1.google.cn/vt/imgtp=png32&lyrs=h@264000000&hl=zh-CN&gl=cn&x={x}&y={y}&z={zoomlevel}&s=google.cn";
                        Hybird = new HttpMapTileDataSource(HybirdUrl);
                       TileSourceHybird = new MapTileSource(Hybird) { Layer = MapTileLayer.RoadOverlay, IsFadingEnabled = true };

    MapControl1.TileSources.Add(TileSourceHybird);

    MapControl1.UpdateLayout();

    这样设置后google的图像能正常显示,如下图:

    但是只要我一拖动地图或是放大地图,自定义加载的图像就会偏移显示如下图:

    这个问题应该怎样解决?不胜感激!

    2017年11月14日 7:41

全部回复

  • 你好,

    请问你的项目版本是多少?系统版本是多少?我用16299项目在windows 10 1709里面测了没有问题。


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年11月15日 9:28
  • 谢谢你的回复!我的系统版本是14393.1884  项目是vs2015编译的,是版本的问题吗?
    2017年11月20日 2:47
  • 谢谢你的回复!我的系统版本是14393.1884  项目是vs2015编译的,是版本的问题吗?

    项目版本不是vs的版本,去项目属性里找一下:


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年11月21日 2:59
  • 您好,

    这个问题我在14393和最新的16299系统上测了一下,都没有重现你的问题。所以这个问题比较奇怪了,建议你开一个微软的一对一技术支持,这样能够快速帮你定位并解决问题。并且如果这个问题最终确认是微软造成的,您的这次技术支持将会免费。谢谢

    这是一对一技术支持链接:Support Ticket


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年11月22日 6:53
  • 非常感谢您的回复,可以提供一下你的14393系统中测试程序吗?我想在我这个环境中验证一下。
    2017年11月22日 7:26
  • 非常感谢您的回复,可以提供一下你的14393系统中测试程序吗?我想在我这个环境中验证一下。
    我的代码很简单,直接建了个14393的项目,然后XAML 页面上 放了个MapControl,后台代码直接用的你的。

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年11月22日 7:30
  • 您的windows 系统版本号是14393的吗?
    2017年11月22日 8:03
  • 您的windows 系统版本号是14393的吗?
    是的,14393 和16299 的系统我都给你测过的。

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年11月22日 8:06
  • 我这新建了一个项目还是一样的问题,

    代码是这样的:

            static readonly string ChinaLanguage = ApplicationLanguages.PrimaryLanguageOverride;
            public MainPage()
            {
                this.InitializeComponent();

                HttpMapTileDataSource SateliteProvider, Hybird;
                MapTileSource TileSourceSateliteProvider, TileSourceHybird;
                //string SateliteProviderUrl = "http://mt.google.cn/vt/lyrs=s@165&gl=cn&x={x}&y={y}&z={zoomlevel}&s=google.cn";
                string HybirdUrl = "http://mt1.google.cn/vt/imgtp=png32&lyrs=h@264000000&hl=" + ChinaLanguage + "&gl=cn&x={x}&y={y}&z={zoomlevel}&s=google.cn";
                //SateliteProvider = new HttpMapTileDataSource(SateliteProviderUrl);
                Hybird = new HttpMapTileDataSource(HybirdUrl);
                //TileSourceSateliteProvider = new MapTileSource(SateliteProvider) { Layer = MapTileLayer.BackgroundReplacement, IsFadingEnabled = true };
                TileSourceHybird = new MapTileSource(Hybird) { Layer = MapTileLayer.RoadOverlay, IsFadingEnabled = true };


                //PlanningMapControl.TileSources.Add(TileSourceSateliteProvider);
                PlanningMapControl.TileSources.Add(TileSourceHybird);

                PlanningMapControl.UpdateLayout();
            }

    XAML:

        <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

            <Maps:MapControl x:Name="PlanningMapControl"/>

        </Grid>

    2017年11月22日 8:36
  • 您好,

    我用你的代码还是无法重现这个问题。

    建议你直接开一对一技术支持:Support Ticket 

    您的这个问题很奇怪,你需要一对一的技术支持,这样方便技术人员与您沟通做进一步的故障排除,搜集一些必要信息等。

    谢谢


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年11月22日 9:16
  • 好的。谢谢!
    2017年11月22日 10:02