zoukankan      html  css  js  c++  java
  • 必应地图控件(WPF版)添加中国地图

    Bingmap for WPF control 没有直接提供中国地图,但是通过必应地图(中国)知道,时存在必应中国地图,经过一番百度后,找到解决办法。通过添加新的地图图层来解决问题,用新的图层覆盖原有的地图,新图层中显示中国地图。不说了,代码解决大部分问题(代码如下):

      //其中map为必应地图for WPF 控件

    MapTileLayer tileLayer;

             private void AddTileOverlay()

             {

                                // Create a new map layer to add the tile overlay to.

                                tileLayer = new MapTileLayer();

                                // The source of the overlay.

                                TileSource tileSource = new TileSource();

                                tileSource.UriFormat = "http://r2.tiles.ditu.live.com/tiles/r{quadkey}.png?g=41";

                                // Add the tile overlay to the map layer

                                tileLayer.TileSource = tileSource;

                                // Add the map layer to the map

                                if (!map.Children.Contains(tileLayer))

                                {

                                         map.Children.Add(tileLayer);

                                }

                                tileLayer.Opacity = tileOpacity;

             }

    以下是控制地图的增加、删除代码:

    private void btnAddTileLayer_Click(object sender, RoutedEventArgs e)

                       {

                                // Add the tile overlay on the map, if it doesn't already exist.

                                if (tileLayer != null)

                                {

                                         if (!map.Children.Contains(tileLayer))

                                         {

                                                   map.Children.Add(tileLayer);

                                         }

                                }

                                else

                                {

                                         AddTileOverlay();

                                }

                       }

                       private void btnRemoveTileLayer_Click(object sender, RoutedEventArgs e)

                       {

                                // Removes the tile overlay if it has been added to the map.

                                if (map.Children.Contains(tileLayer))

                                {

                                         map.Children.Remove(tileLayer);

                                }

                       }

  • 相关阅读:
    【Android】【踩坑日记】RecyclerView获取子View的正确姿势
    【Thinking in Java】编写构造器时应注意:尽量避免调用其他非private方法
    为什么匿名内部类只能访问final变量【转】
    【Thinking in Java】类和对象的初始化过程
    【Thinking in Java】Java Callable的使用
    【算法与数据结构】二叉搜索树的Java实现
    【Thinking in Java】组合、继承和代理的区别
    【面试经历】腾讯一二面分享与总结
    【面试经历】腾讯、网易有道和阿里的笔试分享及自我总结
    《Unity預計算即時GI》笔记:三、Clusters和总结
  • 原文地址:https://www.cnblogs.com/xiwang/p/2576727.html
Copyright © 2011-2022 走看看