public static NodeAddress Create(Byte level, GeoPoint point) { var tilesAmount = 1 << level; var x = (Int32)(((180 + point.Longitude) / 360) * tilesAmount); var y = (Int32)(((90 - point.Latitude) / 180) * tilesAmount); var addressCell = new NodeAddressCell(x, y, level); return(Create(addressCell)); }
public static NodeAddress Create(NodeAddressCell cell) { var address = new NodeAddress(); var addressCell = cell; while (addressCell != null) { address.Path.AddFirst(addressCell); addressCell = addressCell.GetAncestor(); } return(address); }