Exemplo n.º 1
0
        /// <summary>
        /// 添加图元
        /// </summary>
        /// <param name="kml">kml对象</param>
        /// <returns></returns>
        public bool AddElement(Kml kml)
        {
            // 检查是否已经添加相同键的图元,如果有,则返回失败
            if (string.IsNullOrEmpty(kml.Placemark.Name))
            {
                return(false);
            }

            lock (_elementDic)
            {
                if (_elementDic.ContainsKey(kml.Placemark.Name))
                {
                    return(false);
                }
            }

            // 创建图元
            IMFElement element = _mapFactory.AddElement(LayerName, kml);

            // 如果图元创建失败,则返回失败
            if (element == null)
            {
                return(false);
            }
            // 设置图元所属图层
            element.BelongLayer = this;

            lock (_elementDic)
            {
                // 添加到字典
                _elementDic.Add(element.ElementName, element);
            }

            return(true);
        }