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);

                                }

                       }

  • 相关阅读:
    理解字节序(转)
    《逆向分析实战》数据的存储及表示形式
    C语言——内存分配
    C语言编程基础学习字符型数据的ASCII码值为何是负数?
    你知道嵌入式C语言中各变量存储的位置吗?
    stm32入门(从51过渡到32)
    说说M451例程讲解之LED
    说说M451的例程库的说明
    STM32总线结构和存储器
    STM32学习之路入门篇之指令集及cortex——m3的存储系统
  • 原文地址:https://www.cnblogs.com/xiwang/p/2576727.html
Copyright © 2011-2022 走看看