SuperMap.Connector.Control.Forms.MapControl.AddMarker C# (CSharp) Method

AddMarker() private method

private AddMarker ( GraphicsLayer graphicsLayer, GMapOverlay overlay, IList items ) : void
graphicsLayer GraphicsLayer
overlay GMapOverlay
items IList
return void
        private void AddMarker(GraphicsLayer graphicsLayer, GMapOverlay overlay, IList<Marker> items)
        {
            if (graphicsLayer == null || overlay == null) return;
            if (items == null && items.Count <= 0) return;
            if (!_markerMapGMapMarker.ContainsKey(graphicsLayer.ID))
            {
                _markerMapGMapMarker.Add(graphicsLayer.ID, new Dictionary<string, MarkerMapGMapMaker>());
            }
            foreach (Marker item in items)
            {
                if (item != null)
                {
                    if (_markerMapGMapMarker[graphicsLayer.ID].ContainsKey(item.ID))
                    {
                        graphicsLayer.Markers.Remove(item);
                    }
                    GMarkerGoogle gMarker ;
                    if(item.Image!=null)
                    {
                        gMarker = new GMarkerGoogle(Helper.Point2D2PointLatLng(item.Point2D), item.Image);
                    }
                    else
                    {
                        gMarker = new GMarkerGoogle(Helper.Point2D2PointLatLng(item.Point2D), (GMarkerGoogleType)item.MarkerType);
                    }
                    gMarker.IsHitTestVisible = true;
                    gMarker.IsVisible = true;
                    overlay.Markers.Add(gMarker);
                    _markerMapGMapMarker[graphicsLayer.ID].Add(item.ID, new MarkerMapGMapMaker(item, gMarker));
                }
            }
        }