private static void AddPushpin(List<KeyValuePair<string, string>> queryArguments, MapPushpin pushPin)
        {
            // Note: if custom pushpins are defined they shouldnt go in the image image request's pushpin list
            if (pushPin.CustomPushpinIcon != null)
            {
                return;
            }

            var point = pushPin.Coordinate;
            var label = pushPin.HideLabel ? string.Empty : pushPin.Label;
            var type = pushPin.PushpinIconStyle;

            // pushpin=latitude,longitude;iconStyle;label
            var pushPinQuery = string.Format("{0},{1};{2};{3}", point.Latitude, point.Longitude, type, label);
            queryArguments.Add(new KeyValuePair<string, string>("pp", pushPinQuery));
        }
        private static void AddPushPinQueryArgumentsWithLabels(
            IEnumerable<MapPushpin> pushPinLocations,
            MapPushpin centerPushpin,
            List<KeyValuePair<string, string>> queryArguments)
        {
            if (centerPushpin != null)
            {
                AddPushpin(queryArguments, centerPushpin);
            }

            // add points query part
            // foreach point +="&pp=37.317227,-122.318439;IconType;Label"                        
            if (pushPinLocations != null)
            {
                foreach (var pushPin in pushPinLocations)
                {
                    AddPushpin(queryArguments, pushPin);
                }
            }

        }