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