We suggest that you avoid altering the files we provide, it can make it hairy if something else breaks, and definitely makes upgrading a pain.
However, that said, I was intrigued by this question and have written a (completely unsupported) solution that seems to work for me. This is based on that latest Locator (1.4), which it looks like you don't have yet (based on the name of the label). Add this to the bottom of MainDisplay.ascx and see if that does what you want.
<script runat="server">
protected override void OnInit(EventArgs e)
{
this.PreRender += this.Page_PreRender;
base.OnInit(e);
}
private void Page_PreRender(object sender, EventArgs e)
{
foreach (RepeaterItem item in this.LocationsListRepeater.Items)
{
Label locationsGridDistanceLabel = item.FindControl("LocationsGridDistanceLabel") as Label;
if (locationsGridDistanceLabel != null && locationsGridDistanceLabel.Visible)
{
int firstSpaceIndex = locationsGridDistanceLabel.Text.IndexOf(' ');
string distanceLabel = locationsGridDistanceLabel.Text.Substring(firstSpaceIndex);
double distanceInMiles;
if (double.TryParse(locationsGridDistanceLabel.Text.Substring(0, firstSpaceIndex),
NumberStyles.Float,
CultureInfo.CurrentCulture,
out distanceInMiles))
{
locationsGridDistanceLabel.Text = (distanceInMiles * 1.6).ToString(CultureInfo.CurrentCulture)
+ distanceLabel;
}
}
}
}
</script>
This will accomplish multiplying the values by 1.6. I would suggest sticking to altering the resource files to change the label from Miles to KM.
Hope it helps,