• 必应地图控件(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);

                                }

                       }

  • 相关阅读:
    call()与apply()的作用与区别
    Tomcat8/9的catalina.out中文乱码问题解决
    怎样查看Jenkins的版本
    每日日报2020.8.18
    528. Random Pick with Weight
    875. Koko Eating Bananas
    721. Accounts Merge
    515. Find Largest Value in Each Tree Row
    286. Walls and Gates (Solution 1)
    408. Valid Word Abbreviation
  • 原文地址:https://www.cnblogs.com/xiwang/p/2576727.html
Copyright © 2020-2023  润新知