protected override string GetImageUrl()
{
Rectangle2D bounds = ViewBounds;
int width = (int)Math.Round(ViewSize.Width);
int height = (int)Math.Round(ViewSize.Height);
StringBuilder imgUrl = new StringBuilder();
imgUrl.Append(Url);
if (!Url.EndsWith("/"))
{
imgUrl.Append("/");
}
imgUrl.AppendFormat("highlightImage.{0}?", ImageFormat);
imgUrl.AppendFormat("viewBounds={0}", JsonHelper.FromRectangle2D(bounds));
imgUrl.AppendFormat(System.Globalization.CultureInfo.InvariantCulture, "&width={0}", width);
imgUrl.AppendFormat(System.Globalization.CultureInfo.InvariantCulture, "&height={0}", height);
if (Transparent)
{
imgUrl.AppendFormat(System.Globalization.CultureInfo.InvariantCulture, "&transparent={0}", Transparent);
}
if (ClipRegion != null)
{
imgUrl.Append("&clipRegionEnabled=True&");
imgUrl.AppendFormat("clipRegion={0}" , ServerGeometry.ToJson(ClipRegion.ToServerGeometry()));
}
//这两个属性是互斥的!!!这个控制以QueryResultID为标准;
if (QueryResultID != null)
{
imgUrl.AppendFormat("&queryResultID={0}", QueryResultID);
}
else //if (HighlightTargetSetID != null)
{
imgUrl.AppendFormat("&highlightTargetSetID={0}", HighlightTargetSetID);
}
if (MaxVisibleVertex != int.MaxValue && MaxVisibleVertex >= 0)
{
imgUrl.AppendFormat(System.Globalization.CultureInfo.InvariantCulture, "&maxVisibleVertex={0}", MaxVisibleVertex);
}
if (Style != null)
{
imgUrl.AppendFormat("&style={0}", ServerStyle.ToJson(Style));
}
if (!Redirect)
{
imgUrl.AppendFormat("&redirect={0}", Redirect.ToString(System.Globalization.CultureInfo.InvariantCulture).ToLower());
}
return imgUrl.ToString();
}