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

                                }

                       }

  • 相关阅读:
    eclipse自动部署问题
    eclipse下遇到 无法解析类型 javax.servlet.http.HttpServletRequest
    Spring MVC学习笔记——POJO和DispatcherServlet
    JavaWeb学习笔记——Tomcat数据源
    JavaWeb学习笔记——表达式语言
    Bootstrap学习笔记
    ubuntu下git安装及使用
    JavaWeb学习笔记——jsp基础语法
    Java数据结构——容器总结
    Linux下htop的使用
  • 原文地址:https://www.cnblogs.com/xiwang/p/2576727.html
Copyright © 2011-2022 走看看